MongoDBのメモ

コレクション

テーブルに相当するのがコレクション。
コレクションには普通のコレクション以外にcappedコレクションというコレクションの種類がある。高速で、コレクションに挿入された順を保持する。コレクションを作る際にサイズを指定しなければならない。

サイズに到達すると古いものから消される。
cappedコレクションからデータを削除できない。コレクションごとdropする必要がある。

インデックス

RDBおなじみのインデックス。使い勝手は似ているっぽい。

インデックスの文字列評価はcase-sensitive

http://www.mongodb.org/pages/viewpage.action?pageId=5800049

MongoDBさわってみて思ったこと

感じとしてはJSONのキーの部分で検索ができるようになった、というところ。スキーマを気にせずデータを放り込めるし、それでいて検索は楽にできる。これは素晴らしい。

この性質は、Facebook APIやTwitter APIのJSONをほうり投げる際に便利で、RDBでやっていた面倒なことすべてがばからしく思える。

問題はデータの整合性。RASISのI:Integrityの部分。なんか基本オンメモリで、数十秒に一度のディスクへのflushするらしいので、それでプロセスがコケるとデータが飛ぶとか。最近のバージョン1.8からはjournalingがついたようなんだが、それでデータ破損は抑えられたのだろうか。

あとAuto-sharding周りが不安定だと聞く。前にFoursquareで起きたトラブルもそれに起因するとか。

いずれにせよあと数年は人柱の覚悟が必要だろうなー、まあ次作るサイトで使うんだけど。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>