77

私は両方のプロジェクトを見ていますが、実際には違いがわかりません

Cassandra サイトから:

Cassandra は、高度にスケーラブルで、結果整合性があり、分散された、構造化されたキーと値のストアです。Cassandra は結果整合性があります。BigTable と同様に、Cassandra は、典型的なキー/値システムよりも豊富な ColumnFamily ベースのデータ モデルを提供します。

CouchDB サイトから:

Apache CouchDB は、RESTful HTTP/JSON API を介してアクセスできる、フォールト トレラントでスキーマフリーの分散型ドキュメント指向データベースです。

とはいえ、各プロジェクトの具体的な違いは、アクセス方法、記述言語などですが、例を挙げると、 SOLRまたはSphinxについて話すと、どちらも大きな違いのあるインデクサーであることがわかりますが、最終的にはインデクサーです。

ここで、Cassandra と CouchDB は非リレーショナル データベースであり、場合によっては一方が他方を置き換えることができると言えますか?

4

2 に答える 2

82

CouchDB はドキュメント ストアです。そこにドキュメント (JSON オブジェクト) を入れて、ビュー (インデックス) を定義します。オブジェクトは、潜在的に深い構造で任意に複雑にすることができます。さらに、一貫したスキーマに従うことに制約されません。

Cassandra は不規則テーブル キー値ストアです。行を格納するだけで、各行には、値を持つファミリにグループ化された一連の名前付き列があります。BigTable に非常に近いように思えます。BigTable では、各行が同じ構造である必要はありません (SQL データベースとは異なります)。値には何らかの構造があるかもしれませんが、この種のストアはそれについて何も知りません。それらは単なる文字列/バイト シーケンスです。

はい、どちらも非リレーショナル データベースであり、おそらく適用範囲がかなり重複していますが、明らかに異なるデータ編成モデルを持っています。それぞれが他のモデルをエミュレートすることを余儀なくされる可能性がありますが、各モデルは異なる一連の問題に最適に対応します。

于 2009-07-11T14:57:03.750 に答える
35

CouchDB には、ごくわずかなオープン ソース データベース テクノロジにしか見られない機能、つまりオフライン レプリケーションがあります。CouchDB は、ネットワークのエッジでアプリケーションを実行できるように設計されています。これらのアプリケーションは、インターネット接続に障害が発生した場合でも使用できます。

オフライン レプリケーションを利用して大規模なクラスターを構築することもできますが、CouchDB は、単一サーバー、データセンター、またはスマートフォンで実行されているかどうかにかかわらず、堅牢でシンプルになるように設計されています。

于 2009-09-23T20:44:07.360 に答える