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

名前空間の再マッピング

項目一覧

  • 構文
  • パラメーター フィールド
  • 動作
  • 有効な名前空間再マッピング
  • 手順
  • ソースクラスターと宛先クラスターの接続
  • 名前空間の再マッピングでクラスターを同期する
  • 詳細

重要

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

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

mongosync beta 1.8 以降では、同期中にデータベース名を再マッピングできます。 これにより、ソースクラスターの 1 つのデータベースのデータを取得し、それを宛先クラスターの別のデータベースに移行できます。

名前空間の再マッピングを使用するには、ソースクラスターと宛先クラスターの両方でサポートされている MongoDB バージョンを使用する必要があります。

/start API エンドポイントは、次の構文を持つ任意のnamespaceRemapパラメータを受け入れます。

curl <host>:<port>/api/v1/start -XPOST \
--data '
{
"source": "cluster0",
"destination": "cluster1"
"namespaceRemap": [
{
"from": {
"database": "<source-database>"
},
"to": {
"database": "<destination-database>"
}
}
]
} '
フィールド
タイプ
必須
説明
namespaceRemap
配列
任意

同期中に行う名前空間の変更を指定するドキュメントの配列。

バージョン1.8の新機能: beta

namespaceRemap[n]. from
ドキュメント
必須

再マッピング操作 で移行するソースクラスター上のデータベースを指定するドキュメント。

バージョン1.8の新機能: beta

namespaceRemap[n]. from.database
string
必須

ソースクラスターで移行するデータベース。

バージョン1.8の新機能: beta

namespaceRemap[n]. to
ドキュメント
必須

リマッピング操作で移行する宛先クラスター上のデータベースを指定するドキュメント。

バージョン1.8の新機能: beta

namespaceRemap[n]. to.database
string
必須

宛先クラスターで移行するデータベース。

バージョン1.8の新機能: beta

名前空間の再マッピングには次の制限が適用されます。

  • 名前空間の再マッピングでは、 systemconfigadmin 、またはlocalデータベースへの書き込み、またはmongosyncで使用される内部データベースへの書き込みは許可されません。

  • 宛先クラスター上のデータベース名は、Windows の制限内で有効である必要があります。

    詳細については、「 Windows のデータベース名に関する制限 」を参照してください。

  • 宛先クラスターで再マッピングされたデータベース名は、大文字と小文字のみが異なることはありません。

  • 名前空間のリマップを指定して、 reversibleフラグをtrueに設定することはできません。

  • 再マップにより、宛先クラスターで名前空間の競合が発生することはありません。

    以下に例を挙げます。

    "namespaceRemap": [
    {
    "from": { "database": "us-west" },
    "to": {"database": "us-accounts" }
    },
    {
    "from": { "database": "us-south" },
    "to": { "database": "us-accounts" }
    }
    ]

    ソースクラスターの各データベースにtexasコレクションが含まれている場合、 mongosyncは失敗したり、データが破損したり、予期しない動作が発生したりする可能性があります。

1

次の例では、ソースクラスター( cluster0 )と宛先クラスター( cluster1 )を接続します。

mongosync \
--cluster0 "mongodb://localhost:27000" \
--cluster1 "mongodb://localhost:35000"
2

次の/start呼び出しで同期が開始され、ソースクラスターのaccountsデータベースが宛先クラスターのsalesデータベースに再マッピングされます。

curl -X POST "http://localhost:27182/api/v1/start" --data '
{
"source": "cluster0",
"destination": "cluster1",
"namespaceRemap": [
{
"from": {
"database": "accounts",
},
"to": {
"database": "sales",
}
}
]
} '

応答例:

{"success":true}

戻る

既存のデータ処理