第1回目となる今回は,
NoSQLへの流れ
過去20年間でCPUの処理能力は数十倍になり,
RDBでは,
NoSQLの分類
現在NoSQLと呼ばれているものは,
- 1.KVS
(Key-Value Store) - データをKeyとValueのHash形式で持つ
- 基本的にはKeyでの完全一致検索でしかデータを取得できないが,
高速に動作する - 代表的なプロダクト:Memcached,
Redisなど
- 2.ドキュメント指向データベース
- スキーマを定義しなくても使用できるスキーマレスである
- 複雑な検索条件でデータを取得することが可能
- 代表的なプロダクト:MongoDB,
CouchDBなど
- 3.列指向データベース
- RDBのような行単位ではなく,
列単位での処理に特化している - 代表的なプロダクト:Cassandra,
HBaseなど
- RDBのような行単位ではなく,
この連載ではNoSQLのひとつでありドキュメント指向データベースに分類されるMongoDBについて紹介していきます。
MongoDBが目指すもの
MongoDBは,
RDBと比較してMongoDBが実装しなかった機能は,
- ※ ただし,
1つのドキュメントに対するAtomicな操作はサポートしています。
次にKVSと比較してMongoDBが備えている機能です。代表的なものに"RDBライクな検索クエリ"があります。memcachedなどに代表されるKVSは,
上記の機能に加えて,
このように,
図3 パフォーマンスと機能の関係