M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

MongoDBとJavaと、、、

現在の職場でMongoDBの名前がアーキテクチャの候補として出てきているので、昨日来(例によって影響されやすい)マイブームとしてこのドキュメント指向データベースの名前が急浮上しています。

実際、JavaScriptに慣れていると、MongoDBのデータ格納構造はとてもわかりやすいものです。それは、ようするにJSONです。これをJava言語的概念で説明する必要のあるときに、(そもそも無理はあるにしても)どうすべきか、ということを昨晩以来なんとなしに考えてみたりしています。

それはテーブルではなく、コレクションです。基本型とString型の矩形配列ではなく、“ ? extends Object”型の木構造です(ちょっと待って下さい、矩形配列はJavaにはありませんよね?)。

事前定義されたデータのプロトコル=インターフェースとしてクラス/スキーマというものが存在しないか重要でないときにはいつも、“Java言語的説明”は難しいものです。(そして、こういう場合にはO/Rマッピングという概念・実践が(相対的に)非常に自然な対応付けとして見えてくる、というのもおもしろいことです。)

公式サイトでMongoDBのドライバーライブラリーが提供されている言語の一覧をみると、Scala、F#、ErlangClojureそしてHaskellという関数型言語の名前がずらりと並んでいます。関数型言語は一般的に「型」を非常に重視する点ではJavaと同様かそれ以上であり、前述のようなデータ構造をどのように扱ってみせるのか興味深いところです。

ま、いずれにしてもこれからのことですが、、、