ビッグデータとNoSQLデータベース

NoSQLデータベース比較
今回取り上げてみたのは、mongoDB・okuyama・Kyoto Cabinet・cassandra・HBaseの5種類です。okuyamaやKyoyo Cabinetは国産のNoSQLデータベースということで、ぜひとも頑張って欲しいものです。Kyoto CabinetはTokyo Cabinetの後継版みたいですね。
データベース名 | mongoDB | okuyama | Kyoto Cabinet | cassandra | HBase |
---|---|---|---|---|---|
タイプ | ドキュメント指向型 | 分散キーバリューストア | 分散キーバリューストア | Google Big Table + Amazon Dynamo | 分散キーバリューストア (Hadoop) |
開発元 | 10gen | KDL (神戸デジタルラボ) |
FAL labs | Apache Incubator | Apache Software Foundation |
採用実績 | SAP、DeNA、SourceForge、Disney、サイバーエージェント、NAVER他多数 | ワールド他 | mixi | Facebook、楽天、docomo、Twitter | Facebook、サイバーエージェント |
日本語コミュニティorマニュアル | ◎ | ○ | ○ | ○ | △ |
特徴 | ①スキーマレス ②シャーディングが容易 ③レプリケーションが容易 ④スケールアウトが簡単 ⑤js実行エンジン搭載、MapReduce等に利用出来る |
①データノード上でのJavascript実行機能 ②keyだけでなくvalueを条件として検索を行える ③Tagでの検索により、複数条件の検索が可能 |
①TokyoCabinetに代わるものとして開発された ②memcachedから比較的容易な移行が可能 ③keyだけでなくvalueを条件として検索を行える |
①管理サーバーは存在しない。可用性の高いシステムが構築可能 ②データは各ノードに自動的にレプリケーション ③ノードの追加削除は停止なしで行える ④4次元・5次元の連想配列 |
①GoogleBigTableを参考に設計 ②負荷に対して非常に高いスケーラビリティと性能を発揮 ③シンプルで強い一貫性モデル ④一般的なRDBと同じようなモデル |
ライセンス | DB:GNU AGPL v3.0 Driver:Apache License, Version 2.0 |
GPL | GPL v3.0 | Apache License, Version 2.0 | Apache License, Version 2.0 |
画像の格納 | ○ (GridFS使用で大きいファイルも 扱い可能) |
○ | ○ (大きいサイズのファイル扱い には向かない:~64MB) |
NoSQL参考資料
最近はビッグデータ関連の書籍も続々登場していますので、参考までに。
RDBMSとNoSQLデータベースの違い
違いって何?って思われる方も多いかもしれませんが、一番ポイントとなるのはトランザクションの有無でしょう。高機能なNoSQLデータベースにはトランザクションが実装されているものもありますが、多くのNoSQLデータベースは高速化のためにトランザクションを実装していません。(逆に、トランザクションを使うと遅くなるってことですね。)データの信頼性を保持する必要がある場合には、その重要部分だけRDBMSを使用するなど、併用も考える必要があります。
利用シーンを十分に考えたデータベース設計が望まれますね!