1. ホーム
  2. couchdb

CassandraとCouchDBの違いは何ですか?

2023-09-22 09:23:45

質問

両方のプロジェクトを見ていますが、違いがよくわかりません。

をCassandraサイトよりご覧ください。

Cassandraは高度にスケーラブルで、最終的には一貫性のある、分散型の構造化キーバリューストアです...Cassandraは最終的には一貫性があります。BigTableのように、Cassandraは典型的なキー/バリュー・システムよりもリッチなColumnFamilyベースのデータモデルを提供します。

CouchDBサイトより。

<ブロッククオート

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

とはいえ、各プロジェクトの具体的な違いは、アクセス方法、記述言語などだと思いますが、例を挙げると SOLR とか スフィンクス は、どちらも大きな違いはありますが、最終的にはインデクサーであることをご存知でしょうか。

私はここでCassandraとCouchDBは、いくつかのケースでは1つが他を置き換えることができ、非リレーショナルデータベースであることを言うことができますか?

どのように解決するには?

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

Cassandraはragged-table key-valueストアです。 行を保存するだけで、各行は値を持つファミリーにグループ化された名前付きカラムのセットを持っています。 BigTableにかなり近いようですが、BigTableは各行が同じ構造を持っている必要はありません(SQLデータベースとは異なります)。 値は何らかの構造を持っているかもしれませんが、この種のストアはそれについて何も知りません -- それらは単なる文字列/バイト列です。

はい、これらは両方とも非リレーショナル データベースであり、おそらく適用可能性においてかなりの量の重複がありますが、これらは明確に異なるデータ構成モデルを持っています。 それぞれはおそらく他をエミュレートするように強制することができますが、各モデルは異なる問題のセットに最もよくマッピングされます。