sql >> データベース >  >> NoSQL >> MongoDB

NoSQL-MongoDBとCouchDB

    次のリンクを参照してください

    更新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システム。マスターマスターレプリケーションは特に興味深い機能であり、マルチサイト展開を簡単に行うことができます。



    1. AndroidアプリでMongoDBステッチを使用する方法

    2. オブジェクトMongoDBの配列に挿入

    3. MongoDB4.2の新機能

    4. mongodbの他のドキュメントの値に依存するドキュメントをクエリする