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

ハッシュ比較による検証

項目一覧

  • このタスクについて
  • 手順
  • 詳細

ソースクラスターから宛先クラスターに同期されたコレクションの MD 5ハッシュを比較することで、同期を確認できます。 ハッシュの比較により、宛先クラスターがソースからすべての変更を受け取ったことが保証されますが、 dbHashコマンドはクラスターをロックし、完了するまで追加の書込みを防ぎます。 このプロセスは、 ドキュメント数を使用する検証よりもはるかに遅くなる可能性もあります。

シャーディングされたクラスターではハッシュ比較はできません。 また、ドキュメント フィールドの順序はさまざまであるため、MongoDB 4.4 またはそれ以前のリリースを使用するスタンドアロン サーバーやレプリカセットでは機能しません。

シャーディングされたクラスターや MongoDB の古いリリースを同期する必要がある場合、またはアプリケーション ワークロードでロックが受け入れられない場合は、別の検証方法を使用します。

1

ソースクラスターでdbHashコマンドを実行します。 collectionsフィールドに、同期に含まれる各コレクションを一覧表示します。 次に、 md5出力フィールドを返します。

db.runCommand({
dbHash: 1,
collections: [
"accounts.us_accounts",
"accounts.eu_accounts",
...
]}).md5
d41d8cd98f00b204e9800998ecf8427e

このコマンドを実行しながら、宛先ハッシュを取得します。

2

宛先クラスターでdbHashコマンドを実行します。 collectionsフィールドに、同期に含まれる各コレクションを一覧表示します。 次に、 md5出力フィールドを返します。

db.runCommand({
dbHash: 1,
collections: [
"accounts.us_accounts",
"accounts.eu_accounts",
...
]}).md5
d41d8cd98f00b204e9800998ecf8427e

ハッシュに注目してください。

3

各クラスターのmd5値を比較します。 両方のクラスターが同じ MD5 値を返す場合、同期は成功しました。

戻る

ドキュメント数の使用