このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

MongoDBをしゃぶり尽くしたくなった

いくつかの事情があります。

(その1) 関手データモデル: スピヴァック関手データモデルには色々と刺激を受けました。スピヴァック理論を実際に使ってみたいですよね。関係データベースのほうがスピヴァック理論を適用しやすいでしょうが、僕はもともとXMLのような“文書っぽい”データが好きなので、入れ子と並びを持つデータを直接扱いたいのです。この点では、「ドキュメント指向」を標榜しているMongoDBのほうが向いているでしょう。

(その2) 現実的な要求: データの操作がボトルネックになって困っている状況が実際にあったりします。MongoDBを使ったらパフォーマンスが改善するとも限りませんが(ファイルシステムSQLiteのほうが速い、とかありそう)、場合によってはMongoDBが解決策を与えてくれるかもしれません。

(その3) Catyのデータベースバックエンド:CatyのJSONストレージとクエリ言語」において、「Catyのデータベースバックエンドの候補としてMongoDBを検討しています。」と書いたのは既に2年以上も前です。「唐突に MongoDB の話」とかしたのも、その当時の調査報告(備忘)みたいなものです。時間はたってしまいましたが、気が変わったわけじゃないです。今でも、MongoDBをCatyのプライマリーなデータベースバックエンドにしたいと思ってます。

(その4) 問い合わせと更新: MonboDbに関して、僕がいま興味を惹かれているのは、問い合わせと更新に関する豊富な演算子群です。豊富とはいいながら、アドホックでゴチャゴチャしている印象があります。素材としてはたいへん有用だと思うので、これを使って「使いやすく整合性がある」問い合わせ言語と更新言語を構成したいですね。

(その5) 機は熟したか: 一時、MongoDBに関する悪い評判や不安になる報道がありました。例えば:

最近でも、

しかし、採用事例は着実に増えているようですし、開発元である10genがインテルとレッドハットから投資を受けたというニュースもあります。

不安が完全に払拭されたわけじゃないですが、「だいたい大丈夫そう」「開発元も信頼できるだろう」という感触は持てます。今なら、MongoDBを使うのが冒険ってことはないでしょう。