8

MongoDb、CouchDb、CouchBase などのドキュメント ストアと、Cassandra などのカラム ファミリー ストアを比較するこの記事など、いくつかの記事を読みました。

比較の 1 つは、ドキュメント ストアは、ドキュメントの個々の部分で作業できる列ファミリー ストアとは対照的に、より高い粒度で機能するという事実です。Redis はhset 操作を介してこれをサポートし、 mongodbもそうであるため、これは単に真実ではありません。

どちらのタイプのソリューションでもドキュメントの一部を更新/読み取ることができますが、列ファミリー ストアはドキュメント ストアよりも効率的であるという議論はありますか?

これは、挿入と読み取りの多いアプリケーションにはドキュメント ストア ルートを使用し、更新と読み取りの多いアプリケーションには列ファミリ ルートを使用する必要があるということですか?

あるソリューションを他のソリューションよりも選択するのに役立つその他の違いは何ですか?

ありがとう!

4

1 に答える 1

9

主な違いはクエリ モデルにあると思います。どちらも同様のデータ構造を格納できます (たとえば、JSON ドキュメントを CF ストアに入れることができます) が、通常、ドキュメント ストアは値によるクエリ機能を提供しますが、CF ストアは通常提供しません。しかし、その境界線は曖昧であり、各データベース プロジェクトが成熟するにつれて、そのような一般化は適切ではなくなってきているようです。たとえば、Cassandra (人気のある CF ストア) は、セカンダリ インデックスを使用した値によるクエリ機能を提供しています。ただし、ほとんどの CF ストアでは、データを読み取ろうとする方法でデータを書き込む必要があります。つまり、クエリの観点からデータ モデルを考える必要があります。

整合性モデル、データセンターのレプリケーション機能、スケーリング モデル、管理の容易さ、キャッシング機能など、さまざまなデータベース テクノロジの間には他にも同様に重要な違いがあるように思われます。

于 2012-06-08T19:33:16.990 に答える