先週から始まった2週連続(にボリュームが増えたせいで急遽なってしまった)ドキュメント指向データベース 後編 楽しいMongoDBの時間がやってきました。
トレンドを見てもこのうなぎのぼりっぷり。
今日は実際にMongoDBに触れてみて、 なぜ注目されたのかというのを考えてみます。そういえば前回のCouchDBの記事の時に、CouchDBとSPEEDで有名な人から物言いが入っていました。データベースとしてMongoDBのが優秀という部分にです。実際データベースとしてというのでは言葉足りなかったですね。大規模にスケールさせて使うデータベースとしてというのが正しいです。
ドキュメント指向の楽しさ
それでは前回に引き続きドキュメント指向の楽しさを見ていきましょう。
開発中にスキーマっぽいものが決まればいい
データベースの設計なしでプログラマがプログラムを書き始めることができる。
スキーマ定義にあわせてデータを入れていたけど、サービスの実態と合わなくなって、スキーマを再定義する。そうなると当然プログラムを書き換えなくてはいけないし、データベースへのスキーマの再設定などは大変です。サービスを停止しないといけないかもしれません。進化の早いWebサービスではそんな事がよく起こってしまいます。そのためにもスキーマなんてものは最初からなくて、サービスで使うデータを気持ちよく入れて、気持よく取り出す。それこそが真骨頂です。プログラマが使いやすいように、入れて取り出せる。それがスキーマレスの素敵なところです。
RDBMSではACIDが邪魔をして分散させるのが苦手ではありますが、それを犠牲にしてでもMongoDBは分散させます。これは最近のNoSQLなデータベース達の共通の思想のようです。
コンピュータが扱うのに効率的なデータの収め方をしなくてもマシンパワーが足りなくなればスケールアウトすればいい。そんな考えも見て取れます。