最近、 couchdbについてよく耳にしますが、それが提供するものについて混乱しています。
5 に答える
すべての違いを厳密な利点/欠点の形式で説明するのは困難です。
CouchDB で少し遊んでみることをお勧めします。最初に気付くのは、最初の使用時の学習曲線が RDBMS とは完全に逆になっていることです。
RDBMS では、実世界のデータをモデル化してデータベースに取り込むために、事前に多くの時間を費やします。モデリングを処理したら、あらゆる種類のクエリを実行できます。
CouchDB を使用すると、すべてのデータを JSON で取得し、文字通り数分で DB に格納するだけです。正規化などを行う必要はなく、トランスポートは HTTP であるため、多くのクライアント オプションがあります。
次に、マップ関数を作成し、キー照合がどのように機能し、作成したビューに対するクエリがどのように機能するかを学習するときに、大きな学習曲線に気付くでしょう。それらを学習すると、データを正規化せずに「自然」のままにして、ビューを使用してインデックスを正規化する方法がわかり始めます。
CouchDB はドキュメント指向のデータベースです。
ウィキペディア:
リレーショナル データベースとは対照的に、ドキュメント ベースのデータベースは、各レコードのサイズが均一なフィールドを持つテーブルにデータを格納しません。代わりに、各レコードは特定の特性を持つドキュメントとして保存されます。任意の長さの任意の数のフィールドをドキュメントに追加できます。フィールドには、複数のデータを含めることもできます。
利点:
- ドキュメントに空のフィールドを残してスペースを無駄にすることはありません (必ずしも必要ではないため)。
- 編集用のシンプルなフロントエンドを提供することで、データを維持するためのアプリケーションをすばやくセットアップできます。
- 迅速で機敏なスキーマの更新/変更
- 選択したチューリング完全言語で Map Reduce クエリを実行します。(これ以上SQLはありません)
- 柔軟なスキーマ設計
- フリーフォーム オブジェクト ストレージ
- 本当に簡単な複製
- 本当に簡単 ロードバランシング (まもなく)
ここを見てください。あなたのより良い答えは次のとおりだと思います:
CouchDB が常に適切なツールであるとは限らないように、RDBMS も常に適切な答えとは限りません。
CouchDBは、ドキュメントを更新しないため、ディスクを大量に消費します。更新するたびに新しいリビジョンが作成されるため、空のフィールドがないために無駄なスペースがない部分は、リビジョンによって切り捨てられます。