この本は一体?
先日パラっと読んだ『NoSQL データベース ファーストガイド』に出てきた MongoDB について、手取り足取り教えてくれる本です。立ち読みしたら、Ruby と javascript を使って説明していきますって書いてあったので、うひょーって思って買っちゃいました。NoSQL の中でも、わしの手の届く範囲内で一番役に立ちそうなのはドキュメント指向の奴だと感じたので、とりあえず代表的な MongoDB に入門してみて、手応えを感じようという趣旨で読みます。
1章
ドキュメント指向DBとは
ザックリ言うと、ハッシュマップにユニークなID付けて、そのまま保存しちまえっていう発想のDBなのでしょう。非正規化側に振り切った考え方ですね。BSON っていう独自のバイナリ形式で保存するようです。
検索とかどうすんの
単なるハッシュマップの集合を保存していますってだけだと、検索とか集計とか困るんじゃないの?極端な話、ファイルとして積んでおいて grep とか awk でゴリゴリ処理するのと何が違うの?っていう疑問に対してはセカンダリインデックスという考え方で対応するようです。B-tree インデックスなのでDBげです。ココ大事だから7章でガッツリやるぜ。
レプリケーション
レプリカセットって単位を3ノードくらいで組む。1つがマスターあとはセカンダリ。マスター転けたらセカンダリがマスターに昇格、マスターだったノードが戻ってきたらセカンダリとして参加。みたいな事を自動でサクッとやれるっぽいっす。
スケーリング
自動シャーディングにより、複数のノードに自動的にデータを分散配置する仕組みでサーバー増やしまくれるぜいぇーい!
コマンドシェル
いわゆるDBコンソールは javascript ベース!SQL は使わないけど、なじみの言語だろうからいいよね!
ドライバ
だいたいある!
ユーティリティ
dump, restore, export, import は普通にある。sniff(経路監視), stat(ポーリング)なんかもある。
制約とか
ジャーナリングするとはいえ、ベースはオンメモリーだから、メモリー沢山積んでるマシンじゃないと実用的じゃないよ。要するに 64bit OS にしとけってこと。
とりあえずまとめ
大体分かったから、とりあえず CRUD とかさせてくれ。な。2章でそれをやるらしい。16ページくらいしかないから明日やるわ。
以上、「読む+このエントリ書く」まで2ポモドーロ也。寝る!
ピンバック: [技術書つまみ食い] 『MongoDB イン・アクション』第二回 | UPEC Blog