2

CassandraとCouchbaseに実装されているデータセンターレプリケーションの違いを理解しようとしています。Cassandraのように見えますが、2つのデータセンター(DC)がある場合、すべてのデータが両方に複製されます。Couchbaseにいる間、2つのDCは異なるデータを保持し、異なるDC間でデータのサブセットのレプリケーションを手動で構成できます。それが正しいか?

クライアントは、データがCouchbaseのどこにあるかをどのように知ることができますか?DC1でDC2のデータ保持を照会すると、どうなりますか?

Couchbaseでは、システム全体がデータが複製される場所をどのように認識していますか?

前もって感謝します!

4

3 に答える 3

4

Couchbase Cross Datacenter Replication(XDCR)は、すべてのデータをソースバケットから宛先バケットに(継続的に)レプリケートします。

ニューヨークのデータセンターにバケットAがあり、サンフランシスコのデータセンターにバケットBがあり、バケットAからバケットBにXDCRを構成すると、バケットAのすべてのデータがバケットBに複製されます。追加のフィルターを構成することはできません。ただし、この複製は一方向にすぎません。したがって、データをバケットBに直接書き込む場合も、両方のデータセンターにすべてのデータがあるわけではありません。両方のデータセンターにすべてのデータを配置する場合は、バケットBからバケットAへのXDCRも構成します。これは、マニュアルでは双方向レプリケーションと呼ばれています。この2つのクラスター構成では、すべてのデータセンターのすべてのデータが提供されます。

CouchbaseクライアントSDKは、単一のクラスターと通信するように構成されています。つまり、クライアントは接続するクラスターを認識している必要があります。ニューヨークのクラスターにサンフランシスコのクラスターとは異なるデータが格納されている場合、アプリケーションにはデータの検索場所を認識するロジックが必要です。

高可用性のユースケースでは、通常、リージョン間で双方向レプリケーションが設定され、アプリケーションはクラスターを優先するように設計されています。ニューヨークの近くにデプロイされたアプリケーションは、ニューヨーククラスターを好む場合があります。問題がない限り、そのクラスターの読み取りと書き込みを行います。ニューヨークのデータセンターがダウンしているなどの問題がある場合、アプリケーションはサンフランシスコのデータセンターに切り替えることで動作を継続できます。しかし、繰り返しになりますが、このロジックはすべてアプリケーションに含まれます。

ロビンが言及した「スマートクラスターマップ」は、単一のクラスター内のデータを検索するために使用されます。これを理解することは重要ですが、異なる地域に保存されているデータは見つかりません。

于 2013-03-26T14:24:35.163 に答える
2

Couchbaseの最新バージョン(4.0以降)のXDCRではフィルタリングが許可されていることに注意してください。キー名の単純な正規表現により、選択したデータのサブセットをデータセンター間で複製できます。詳細については、http://developer.couchbase.com/documentation/server/4.0/xdcr/xdcr-filtering-setup.htmlをご覧ください。

于 2016-10-20T21:25:26.080 に答える
1

Couchbaseでは、クロスデータレプリケーションはバケット間で機能します。Couchbaseでは、双方向と単方向の2種類のレプリケーションが可能です。Bi-Directionalを使用する場合、両方のデータセットは同じになります。Uni-Directionalを使用する場合、理論的には1つのデータセットを他のデータセットよりも大きくすることができますが、通常はそうではありません。

クライアントSDKは、スマートクラスターマップを使用しているため、Couchbaseのどこにデータがあるかを認識しています。このクラスターマップは、データがどこにあるかを常に追跡しているため、正しいノードにリクエストを送信します。

于 2013-03-25T13:09:59.530 に答える