次のリンクを参照してください
更新 :NoSQLの比較 が素晴らしいと思いました データベース。
MongoDB(3.2)
- 記述:C ++
- 要点:JSONドキュメントストア
- ライセンス:AGPL(ドライバー:Apache)
- プロトコル:カスタム、バイナリ(BSON)
- マスター/スレーブレプリケーション(レプリカセットを使用した自動フェイルオーバー)
- シャーディングビルトイン
- クエリはJavaScript式です
- サーバー側で任意のJavaScript関数を実行する
- 地理空間インデックスとクエリがあります
- パフォーマンス特性が異なる複数のストレージエンジン
- 機能に対するパフォーマンス
- ドキュメントの検証
- 日記
- 強力な集約フレームワーク
- 32ビットシステムでは、最大2.5Gbに制限されます
- 統合されたテキスト検索
- ビッグデータとメタデータ(実際にはFSではない)を格納するGridFS
- データセンター対応
最適な使用 :動的クエリが必要な場合。 map / reduce関数ではなく、インデックスを定義したい場合。大きなDBで優れたパフォーマンスが必要な場合。 CouchDBが必要であるが、データが変更されすぎてディスクがいっぱいになった場合。
例 :MySQLまたはPostgreSQLで行うほとんどのことについてですが、事前定義された列があると、実際には妨げになります。
CouchDB(1.2)
- 作成者:Erlang
- 要点:DBの一貫性、使いやすさ
- ライセンス:Apache
- プロトコル:HTTP / REST
- 双方向(!)レプリケーション
- 継続的またはアドホック
- 競合検出あり
- したがって、マスター-マスターレプリケーション。 (!)
- MVCC-書き込み操作は読み取りをブロックしません
- 以前のバージョンのドキュメントが利用可能です
- クラッシュのみの(信頼性の高い)設計
- 時々圧縮する必要があります
- ビュー:埋め込みマップ/リデュース
- ビューのフォーマット:リストとショー
- サーバー側のドキュメント検証が可能
- 認証が可能
- 「_changes」(!)によるリアルタイムの更新
- 添付ファイルの処理
最適な使用 :事前定義されたクエリが実行されるデータを蓄積し、時々変更するため。バージョン管理が重要な場所。
例 :CRM、CMSシステム。マスターマスターレプリケーションは特に興味深い機能であり、マルチサイト展開を簡単に行うことができます。