Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync
/ /

多対 1 の移行

項目一覧

  • 構文
  • 動作
  • 詳細

重要

Cluster-to-Cluster Sync betaプログラム

この機能はmongosyncbeta {0 でのみ使用できます。詳しくは、「 Cluster-to-Cluster Sync betaプログラム 」を参照してください。

mongosync beta 1.8 以降では、多対 1 の移行を実行できます。 多対 1 の移行では、複数のソースクラスターを宛先クラスターと同時に同期できます。 たとえば、多数の小規模クラスターのデータを中央クラスターに統合できます。

複数のソースクラスターを 1 つの宛先クラスターと同期するには、 mongosyncを起動するときに次のコマンドを実行します。

./bin/mongosync \
--cluster0 <source-A-connection-string> \
--cluster1 <destination-connection-string> \
--migrationName <string>
./bin/mongosync \
--cluster0 <source-B-connection-string> \
--cluster1 <destination-connection-string> \
--migrationName <string>

ソースクラスターと宛先クラスター間で同期操作を開始するには、「 クラスター間でのデータの同期 」を参照してください。

名前空間はdatabase_name.collection_nameの組み合わせです。 競合しない名前空間のみを同期できます。

たとえば、次のシナリオについて考えてみましょう。

  • S 1と S 2の 2 つのソースクラスター。

  • 宛先クラスター D.

  • S 1と S 2の両方にinventorysalesという名前のデータベース。

  • S 1と S 2の両方で、 productsorderLinesorderStatusordersという名前のコレクション。

  • これらの組み合わせの両方を同期できます。

    • inventory.products D を持つ S 1上の とsales.orderStatus

    • inventory.orderLines D を持つ S 2上の とsales.orders

  • これらの組み合わせは競合するため、両方を同期することはできません。

    • inventory.products inventory.orderLines11Dinventory.products inventory.orderLinesを使用して S 上の と 。D が最初に空の場合は、S を D と同期できます。 と は S1 から D にコピーされます。

    • inventory.products S 上の とinventory.orderLines2 を D と同期します。S2 と D を同期することはできません。inventory.productsinventory.orderLines は、前のポイントのシナリオのシナリオですでに D 上の名前空間と競合するためです。

migrationName string には、最大44個の英数字とアンダースコアの文字を含めることができます。 移行メタデータデータベース名を設定するために、string "mongosync_internal_"migrationNameが追加されます。

たとえば、 migrationName"cluster_27000_to_cluster_35000_sync"に設定すると、結果のmongosyncメタデータ データベース名は"mongosync_internal_cluster_27000_to_cluster_35000_sync"になります。

多対 1 の移行は 埋め込み検証子 と互換性がありません。検証子と多対 1 の移行の両方を有効にすると、 /start コマンドはエラーを返します。

詳細については、「データ転送を確認する 」を参照してください。

次の例では、ポート2700027001で実行されているソースクラスターと、ポート35000で実行されている宛先クラスターを接続します。 このコマンドでは、各同期の操作を説明し、移行メタデータを保存するために--migrationNameオプションも設定されています。

./bin/mongosync \
--cluster0 "mongodb://localhost:27000" \
--cluster1 "mongodb://localhost:35000" \
--migrationName "cluster_27000_to_cluster_35000_sync"
./bin/mongosync \
--cluster0 "mongodb://localhost:27001" \
--cluster1 "mongodb://localhost:35000" \
--migrationName "cluster_27001_to_cluster_35000_sync"

戻る

A->B->C の移行