アプリケーションの負荷をソースクラスターから宛先クラスターに切り替える前に、移行が成功したことを確認する必要があります。
1.9 以降、mongosync
は、ソースクラスターと宛先クラスターに対して一連の検証チェックを実行して同期が成功したことを確認できる埋め込み検証子を提供します。
タスク
同期ごとにデータを検証する必要があります。 これは、アプリケーション負荷をソースクラスターから宛先クラスターに移動する予定の場合に重要です。
検証方法 | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1.9 以降、
検証子は移行のすべての要素をチェックするわけではありません。 | |||||||||||||
最も基本的な検証方法は、ソースクラスターの同期された各コレクション内のドキュメント数と宛先クラスターの数を比較することです。 この方法でデータ転送を確認する前に、 このメソッドは、挿入専用のワークロードを持つクラスターに対して実行された場合にのみ、同期の成功を検証します。 | |||||||||||||
ソースクラスターから宛先クラスターに同期されたコレクションの MD5 ハッシュを比較することで、同期を確認できます。 この方法でデータ転送を確認する前に、 ハッシュの比較により、宛先クラスターがソースからのすべての変更を受け取ったことが保証されますが、 シャーディングされたクラスターではハッシュ比較はできません。また、ドキュメントフィールドの順序はさまざまであるため、 MongoDB 4.4 またはそれ以前のリリースを使用するスタンドアロンサーバーとレプリカセットでは動作しません。 | |||||||||||||
ドキュメントの比較 | ソースクラスターと宛先クラスターのドキュメントを比較することで、同期を確認できます。 ソースクラスターのコレクションをクエリし、宛先クラスターに同じ値を持つ正しいドキュメント、インデックス、コレクション、メタデータ、ビューが存在することを確認するスクリプトを記述します。 この方法でデータ転送を確認する前に、 | ||||||||||||
インデックスの比較 | インデックスの転送を確認するには、ソースクラスターと宛先クラスターで | ||||||||||||
メタデータの比較 | メタデータの転送を確認するには、ソースクラスターと宛先クラスターで | ||||||||||||
シャードキーの比較 | 同期されたコレクションへのシャードキーの転送を確認するには、 例、
| ||||||||||||
Migration Verifier は、ソースクラスターと宛先クラスターに接続し、ドキュメント、ビュー、インデックスを比較して同期が成功したことを確認する一連の検証チェックを実行します。 |
データを検証するために使用する具体的な方法は、アプリケーションのワークロードとデータの複雑さによって異なります。