1. ホーム
  2. mongodb

[解決済み] NoSQL - MongoDB対CouchDB [クローズド]。

2022-04-27 21:57:03

質問

私はNoSQLに関しては全くの門外漢です。 私はMongoDBとCouchDBについて多くを聞いたことがあります。 私は2つの違いがあることを知っている。 あなたは、NoSQLの世界への最初のステップとして、学習することをお勧めしますか?

どのように解決するのですか?

以下のリンクを参照してください。

更新情報 : 素晴らしいものを発見しました。 NoSQLの比較 データベースです。

MongoDB (3.2)

  • で書かれています。C++
  • 主なポイント JSONドキュメントストア
  • ライセンス AGPL (ドライバ: Apache)
  • プロトコル カスタム、バイナリ(BSON)
  • マスター/スレーブレプリケーション(レプリカセットによる自動フェイルオーバー)
  • シャーディング内蔵
  • クエリーはjavascriptの式
  • サーバーサイドで任意のjavascript関数を実行
  • 地理空間インデックスとクエリを持つ
  • 性能特性の異なる複数のストレージエンジン
  • 機能より性能
  • ドキュメント検証
  • ジャーナリング
  • 強力なアグリゲーションフレームワーク
  • 32bit システムでは ~2.5Gb に制限されます。
  • テキスト検索を統合
  • ビッグデータ+メタデータを格納するGridFS(実際にはFSではない)
  • データセンターを意識した

最適な使用方法 : 動的なクエリが必要な場合。Map/Reduce関数ではなく、インデックスを定義したい場合。大きなDBで高いパフォーマンスが必要な場合。あなたはCouchDBを望んでいたが、あなたのデータは、ディスクを埋め、あまりにも多くを変更した場合。

例えば : MySQLやPostgreSQLで行うほとんどのことですが、定義済みのカラムがあることで、本当に足かせになります。

CouchDB(1.2)(英語

  • で書かれています。Erlang
  • 主なポイント DBの整合性、使いやすさ
  • ライセンス Apache
  • プロトコル HTTP/REST
  • 双方向(!)レプリケーション。
  • 連続またはアドホック
  • コンフリクト検出機能付き
  • つまり、マスター・マスター・レプリケーションです。(!)
  • MVCC - 書き込み操作で読み込みをブロックしない
  • 旧バージョンのドキュメントを利用可能
  • クラッシュオンリー(信頼性)設計
  • 時折、圧縮が必要
  • ビュー: マップ/リデュースの組み込み
  • ビューの書式設定: リスト & ショー
  • サーバーサイドでのドキュメント検証可能
  • 認証が可能
  • リアルタイム更新は '_changes' で(!)。
  • 添付ファイルの取り扱い

最適な使用方法 : 蓄積され、時々変更されるデータに対して、あらかじめ定義されたクエリーを実行する場合。バージョニングが重要な場所。

例えば : CRM、CMSシステム。特にマスター・マスター・レプリケーションは興味深い機能で、簡単にマルチサイト展開が可能です。