MongoDBとJavaと、、、
現在の職場でMongoDBの名前がアーキテクチャの候補として出てきているので、昨日来(例によって影響されやすい)マイブームとしてこのドキュメント指向データベースの名前が急浮上しています。
実際、JavaScriptに慣れていると、MongoDBのデータ格納構造はとてもわかりやすいものです。それは、ようするにJSONです。これをJava言語的概念で説明する必要のあるときに、(そもそも無理はあるにしても)どうすべきか、ということを昨晩以来なんとなしに考えてみたりしています。
それはテーブルではなく、コレクションです。基本型とString型の矩形配列ではなく、“ ? extends Object”型の木構造です(ちょっと待って下さい、矩形配列はJavaにはありませんよね?)。
事前定義されたデータのプロトコル=インターフェースとしてクラス/スキーマというものが存在しないか重要でないときにはいつも、“Java言語的説明”は難しいものです。(そして、こういう場合にはO/Rマッピングという概念・実践が(相対的に)非常に自然な対応付けとして見えてくる、というのもおもしろいことです。)
公式サイトでMongoDBのドライバーライブラリーが提供されている言語の一覧をみると、Scala、F#、Erlang、ClojureそしてHaskellという関数型言語の名前がずらりと並んでいます。関数型言語は一般的に「型」を非常に重視する点ではJavaと同様かそれ以上であり、前述のようなデータ構造をどのように扱ってみせるのか興味深いところです。
ま、いずれにしてもこれからのことですが、、、