BigCouch は、そのままではクロス データセンターのものを提供しません。Cloudant DBaaS (BigCouch に基づく) には、複数のデータセンターにまたがるこのセットアップが既にあります。
BigCouch は、Apache CouchDB の分割された「Dynamo スタイル」のフォークです。将来、「メインライン」の Apache CouchDB にマージされる予定です。シャードは、同じデータセンター内の複数のノード (サーバー) に存在します。「クラシック」CouchDB スタイルのレプリケーションを使用して (afaik)、さまざまなデータセンターの BigCouch を非同期に保ちます。
CouchDB スタイルのレプリケーション (n-master) は変更ベースであるため、レプリケーションには最新の変更のみが含まれます。
ノード/データベースの組み合わせごとに、レプリケーションのペアとの間をセットアップする必要があります。ただし、すべてのサーバーが同一であることを意図している場合、レプリケーションは実際にはそれほど頻繁には行われず、必要な場合にのみ行われます。
変更を取得した場合A
、レプリケーションはそれをB
and C
(etc) に送信します。ただし、B
その変更を取得したばかりで、チャンスを得るC
前にそれを複製するとA
、ネットワークの遅延などにより、A
最終的に試行したときに、データが既に存在することがわかり、変更を送信する必要はありません。また。
これがセットアップの標準的な部分である場合 (つまり、データベースを作成するたびに他の場所に複製する場合)、セットアップを自動化することを強くお勧めします。
また、_replicator データベースをチェックアウトします。何が起こっているかを管理する方がはるかに簡単です:
https://gist.github.com/fdmanana/832610
そこに何か役立つことを願っています。:)