AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

制限

警告

mongosync は、ドキュメント化された制限への準拠の有無はチェックしません。アプリケーションが制限の影響を受けないことを確認してください。以下の制限のいずれかが課されている状態で mongosync を実行すると、対象クラスターで予期しない動作が発生する恐れがあります。

移行が一時停止または再開される場合に停止されるときを含め、移行の全期間にわたってこれらの制限に従う必要があります。

注意

MongoDB サーバー の互換性の詳細については、 「 MongoDB Serverのバージョンの互換性 」を参照してください。

  • mongosync は、移行中にメジャー バージョンまたはマイナー バージョンを変更するインプレースサーバーバージョン アップグレードをサポートしていません。mongosync ではパッチ バージョンのアップグレードは可能です。詳細については、サーバーのアップグレード手順を参照してください。

  • mongosync は、クラスターまたは環境が正しく構成されているかどうかを検証しません。

  • mongosyncの実行中は、他のクライアントが宛先クラスターに書き込みを行わないでください。

  • system.* コレクションは複製されません。

  • ドル記号( $ )のプレフィックスがついたフィールド名はサポートされていません。 「ピリオドとドル記号を含むフィールド名 」を参照してください。

  • サーバーレス クラスターはサポートされていません。

  • MongoDB 共有階層はサポートされていません。

  • Queryable Encryptionはサポートされていません。

  • 同じフィールドに一意なインデックスと一意でないインデックスが定義されているコレクションを同期することはできません。

  • Before you attempt to run mongosync with an M10+ Atlas cluster, disable the Require Indexes for All Queries option to set notablescan to false on both the source and destination clusters.

  • mongosync ユーザーまたはロールは同期されません。

  • mongosync does not replicate applyOps operations made on the source cluster during sync to the destination cluster.

  • mongosync must read from the source cluster using the primary read preference.

  • mongosync は、現在 MongoDB バージョンをアップグレードしているソースクラスターまたは宛先クラスターはサポートしていません。

  • mongosync は、 WiredTigerストレージエンジンを使用するクラスターのみをサポートします。

  • タイムスタンプが空のドキュメントとコレクションを同期することはできません。たとえば、6.0 以前の Timestamp(0,0) などです。 ソースクラスター。

  • mongosync はフィールド名が重複するドキュメントをサポートしていません。 詳細については、 「 MongoDB重複するフィールド名をサポートしていません 」を参照してください。

  • mongosync では、競合する 名前空間 がすでに含まれている宛先クラスターへの名前空間名前空間の移行はサポートされていません。

  • mongosync は、プロビジョニングされたユーザーのいない宛先クラスターはサポートしません。

  • 8.0.20 より前のすべてのMongoDBバージョンでは、replace操作によって $v という名前のフィールドがドキュメントに追加されると、変更イベントのアプリケーション中に回復不能な致命的なエラーが発生し、mongosync が終了します。同期を再開すると、常に同じエラーで失敗します。

    この問題を解決するには、同期を最初から再開して宛先の mongosync のメタデータデータベースを削除するか、ソースクラスターを 8.0.20 以上にアップグレードします。

MongoDB はMongosync with Community のビルドをテストしておらず、ほとんどの場合、 MongoDB はMongosync with Community の配置のサポートを提供していません。MongoDB Community Edition で Mongosync を使用する場合は、 MongoDB の営業担当者に 問い合わせて 、要件や個別のオプションについて説明してください。

  • 時系列コレクションはサポートされていません。

  • expireAfterSecondsが設定されたクラスター化されたコレクションはサポートされていません。

  • mongosync では、シャーディングされたクラスターからレプリカセットへの同期はサポートされていません。

  • mongosync では、1 つ以上のアービタを持つシャーディングされたクラスター トポロジーへの同期はサポートされていません。

  • mongosync doesn't support sync to or from global clusters.

  • レプリカセットからシャーディングされたクラスターへの同期には次の制限があります。

    • mongosync を使用すると、同期中にsharding.shardingEntriesオプションに含まれるコレクションの名前を変更できます。 詳細については、「同期中の名前の変更 」を参照してください。

    • sharding.createSupportingIndexesオプションを使用すると、同期中に宛先クラスターにインデックスが自動的に作成されます。 ソースクラスターでは、その後にこれらのインデックスを作成することはできません。

    • シャードキーをサポートするインデックスを手動で作成する場合は、 mongosyncが開始する前、または移行が完了してmongosyncが停止した後にインデックスを作成する必要があります。

  • コレクション内では、 _idフィールドはクラスター内のすべてのシャードで一意である必要があります。 See Sharded Clusters and Unique Indexes for more details.

  • The movePrimary command cannot be used to reassign the primary shard while syncing.

  • ゾーン構成のレプリケーションはありません。 mongosyncはデータをレプリケートしますが、ゾーンは継承しません。

  • 同期中にシャードを追加または削除することはできません。

  • mongosync は、すべてのシャードに存在するインデックスのみを同期します。

  • mongosync がシャード間で一貫性のないインデックス指定を検出した場合、致命的なエラーで終了します。不整合をチェックする際、mongosyncnsbackgroundインデックスフィールドを無視します。

    注意

    To check for index inconsistencies, see Find Inconsistent Indexes Across Shards. This method surfaces ns and background field differences, which mongosync ignores when checking for inconsistencies.

  • mongosyncソースクラスターまたは宛先クラスターがシャーディングされたクラスターで、名前空間フィルタリングで を実行中いない場合は、 コマンドを実行中、コマンドが完了するまでbalancerStop 15分間待機して、ソースクラスターのバランサーを無効にする必要があります。

    ソースクラスターまたは宛先クラスターがシャーディングされたクラスターで、名前空間フィルタリングを使用して mongosync を実行中いる場合は、ソースクラスターのバランサーをグローバルに有効にできますが、名前空間フィルター内のすべてのコレクションに対して無効にする必要があります。「 フィルタリングされた同期でコレクションのバランサーを無効にする 」を参照してください。ソースクラスターのバランサーを完全に無効にすることもできます。

    You must always disable the balancer on a sharded destination cluster by using balancerStop.

  • If you have enabled the source cluster's balancer, but disabled it for collections within the namespace filter, do not run shardCollection on collections within the namespace filter. If you run shardCollection on collections within the namespace filter during the migration, mongosync returns an error and stops, which requires you to start the migration from scratch.

  • mongosync doesn't support running the command transitionFromDedicatedConfigServer during execution.

  • You must not run the moveChunk and moveRange commands on the source or destination clusters.

  • 同期中にシャードキーを調整することはできません。

  • The reshardCollection operations from the source cluster are not supported during sync.

  • シャーディングされたコレクションあたりのインデックスの最大数は で、デフォルトの上限である より 163 64つ下です。

  • mongosync は、シャーディングされたクラスター上のデフォルト以外の照合順序を持つコレクションをサポートしません。これは、シャーディングされたコレクションとシャーディングされていないコレクションの両方に適用されます。

  • mongosync 一部のデータを含むシャードで、整合性や欠落しているインデックスについてのエラー。

  • mongosync fails if there is a balancing window configured on the source or destination cluster.

  • mongosync では、事前構成されたシャードゾーンタグを持つ宛先名前空間への移行はサポートされていません。移行を開始する前に、宛先で mongosync が移行する名前空間からすべてのシャード タグ範囲またはゾーンを削除します。移行がCOMMITTED 状態に達した後に、必要なゾーン範囲を再度追加できます。

  • 古いソースに、シャード間で部分的に分散された一意なインデックスがある場合、元に戻すと失敗する可能性があります。 元に戻す前に、すべてのシャードに一意なインデックスがあることを確認してください。
  • ソースクラスターと宛先クラスターは同じ数のシャードを持つ必要があります。クラスターのトポロジーが異なる場合、逆同期はできません。

  • ソースクラスターと宛先クラスターは同じMongoDBメジャー バージョンを実行する必要があります。

  • 方向を逆にするには、mongosync ではソースクラスター上のすべての一意のインデックス(_id を除く)にレガシーユニークインデックスキーが ない 必要があります。
  • mongosync では、1 つの宛先クラスターへの複数のソースクラスターの同期はサポートされていません。

  • 1 つのクラスターを同時に 1 つのmongosyncインスタンスでソースクラスターにし、別のmongosyncインスタンスの宛先クラスターにすることはできません。

1.3.0 以降、Mongosync は、Cappedコレクション を一部制限付きでサポートしています。

1.20.0 以降、移行中に新しい上限付きコレクションの作成を有効にするには、mongosync を起動するときに --enableCappedCollectionHandling フラグを渡す必要があります。

ソースクラスター上の上限付きコレクションは、同期中に正常に動作します。

同期中に、宛先クラスター上の上限付きコレクションに一時的な変更が加えられます。

  • ドキュメントの数に制限はありません。

  • 最大コレクション サイズは 1 PB です。

mongosync は、コミット時に最大ドキュメント数と最大ドキュメント サイズの元の値を復元します。

Mongosync は、システム コレクションを宛先クラスターにレプリケートしません。

If you issue a dropDatabase command on the source cluster, this change is not directly applied on the destination cluster. Instead, Mongosync drops user collections and views in the database on the destination cluster, but it does not drop system collections on that database.

たとえば、送信先クラスターでは、次のようになります。

  • The drop operation does not affect a user-created system.js collection.

  • If you enable profiling, the system.profile collection remains.

  • If you create views on the source cluster and then drop the database, replicating the drop removes the views, but leaves an empty system.views collection.

このような場合、dropDatabase を複製すると、ユーザーが作成したコレクションはすべてデータベースから削除されますが、そのシステム コレクションは宛先クラスターに残ります。

mongosync does not support rolling index builds during migration. To avoid building indexes in a rolling fashion during migration, use one of the following methods to ensure that your destination indexes match your source indexes:

  • 移行する前に、ソースにインデックスをビルドします。

  • 移行中にデフォルトのインデックス構築を使用してソースにインデックスをビルドします。

  • 移行後に、宛先でインデックスをビルドします。

1.9 以降、mongosync は埋め込み検証子を使用して、ソースクラスターから宛先クラスターへのコレクションの同期が成功したことを確認できます。

埋め込み検証子は mongosync 1.8 以前では使用できません。

別の検証方法については、「 データ転送の検証 」を参照してください。

埋め込み検証子には次の制限があります。

  • mongosync は検証子の状態をメモリに保存するため、大幅なメモリ オーバーヘッドが発生する可能性があります。 検証子を実行するには、mongosync は約 10 GBのメモリに加えて、100 万ドキュメントごとに追加の 500 MB を必要とします。

  • 検証子は再開できません。 ユーザーが同期を停止または一時停止した後、何らかの理由で mongosync を再度開始した場合、検証プロセスは最初から再開されます。 これにより検証が移行より大幅に遅れる可能性があります。

  • レプリカセットからシャーディングされたクラスターに移行する場合、シャーディングオプションで指定したソース コレクションの名前を変更することはできません。CEA フェーズ 中にシャーディングオプションに含まれるコレクションの名前を変更すると、検証子はシャーディングの不一致を報告します。

  • 検証を有効にして同期を開始し、buildIndexesnever に設定している場合、mongosync がソースクラスターで TTLコレクションを見つけると、移行は失敗します。 これは、/start エンドポイントを呼び出した後に発生する可能性があり、移行の進行中にユーザーがソースクラスターに TTLインデックスを作成する場合などです。

    宛先クラスターでインデックスを構築せずに TTL コレクションを同期するには、 検証子を無効にして同期を開始する必要があります。

検証子は、次の名前空間はチェックしません。

  • 上限付きコレクション

  • TTL インデックスを持つコレクション(移行中に追加または削除される TTL インデックスを含む)

  • デフォルトの照合を使用しないコレクション

サポートされていないコレクションを確認するには、コレクションを確認するための追加のスクリプトコードを追加します。詳細については、データ転送を確認する を参照してください。

注意

バージョン1.10 以降、検証子は、移行中に変更される前に. 60ソースクラスターで発生した DDLイベントからのデータの不整合をチェックします。これは、.6 0より前の移行では DDL イベントがサポートされていないためです。

60詳細については、「. より前の移行制限 」を参照してください。

mongosync は、 MongoDB 8.0 で導入された永続的クエリ設定(PQS)を移行しません。ソースクラスターがPQS を使用している場合は、それらを手動で移行する必要があります。

1.10 以降、mongosync は、6.0 より古いバージョンのMongoDBサーバーを実行中ソースクラスターからの移行をサポートしています。 サポートされている移行パスの詳細については、 「 MongoDB Server のバージョンの互換性 」を参照してください。

次の制限は、6.0 より前に 次の移行:

  • The source cluster cannot have orphaned documents. To clean up any orphaned documents, run the cleanupOrphaned command on the mongod instances on every shard's primary node on their source cluster. Wait for this command to complete with a status {ok:1} before starting the migration.

  • 移行中に、ソースクラスターでは DDL イベントを生成する書込み (write) が発生しません。次のイベントは発生しません。

    • collMod

    • create

    • createIndexes

    • drop

    • dropDatabase

    • dropIndexes

    • refineCollectionShardKey

    • rename

    • reshardCollection

    • shardCollection

    This includes operations that may create new collections such as mapReduce, $out, and $merge. This also includes collections created implicitly from inserts. Only writes that produce CRUD events can occur during the migration.

    注意

    名前空間フィルターの外部のソース コレクションで DDL イベントを生成する書込み (write) は許可されます。

  • geoHaystack インデックスはサポートされていません。

  • /reverse エンドポイントはサポートされていません。reversible/startリクエストでは オプションは有効にできません。

  • /commit エンドポイントを呼び出した後、ソースクラスターに書込み (write) が行われていないことを確認します。

  • createSupportingIndexesシャーディングパラメータ は有効にできません。代わりに、ソースクラスターでシャードキー をサポートするインデックスを作成します。

  • 仕様が一貫していないインデックスや、1 つ以上のシャードで欠落しているインデックスがある場合、mongosync はエラーを返します。インデックスの不一致を確認するには、シャード間で一貫性のないインデックスを検索する を参照してください。