にわかサーバー屋さんの覚書

サーバー系を担当しているけど、設計などは日々勉強中のプログラマの覚書

NoSQL - mongoDBのこと

もう、概念的なところだけは何となく理解して、

周りでしゃべっていることだけでも理解していこうと精一杯です。

 

で、mongoDB

 

まずは、どんな製品かって言うと、

KVSっぽい高速な処理速度と、RDBの様な機能も捨てない

って感じでしょうか。

 

KVSっぽいって部分は、テーブルなどは無く、

ドキュメント指向と呼ばれるように、JSON形式のデータで格納する。

{"id": 10001, "name": "ゲス山ゲス男"}

 ※実際の書き込みは、JSONをバイナリにした感じらしい。

で、コストの高いトランザクションはなく、機能としてJOINとかも無い。

 

 で、RDBぽいってところは、

KVSがキーの完全一致でデータを引っ張ってくるに対して、

mongoDBは、SQLでいうと、select/where/order byや、group byとかいけるみたい。

db.table_name.find({id:10001})

 

ということで、

割とシンプルな読み書きだけで、でも、アクセスはどえらい多い様なシステムには、

向いてるんじゃ無いでしょうか。

私が見た中では、ログオン履歴、購入履歴など、

ログ保存のサーバーとして運用されておりました。

 

その他、シャーディングと呼ばれる、

複数のサーバーにデータの分散して保存する機能なども、

自動でスケーリングしてくれる機能などもあるようです。

WEB+DB PRESS Vol.75

WEB+DB PRESS Vol.75

 
MongoDBのはじめての運用テキスト

MongoDBのはじめての運用テキスト

 

 うん、このmongoDBは使いどころはありそうですね。