Verificar com comparação de hash
Nesta página
Você pode verificar a sincronização comparando hashes MD5 de coleções sincronizadas do cluster de cluster de origem com o cluster de destino. Enquanto a comparação de hash garante que o cluster de destino recebeu todas as alterações da origem, o comando dbHash
bloqueia o cluster, evitando gravações adicionais até que ele seja concluído. Esse processo também pode ser muito mais lento do que a verificação usando contagens de documento .
Sobre esta tarefa
A comparação de hash não é possível com clusters fragmentados. Ele também não funciona com servidores standalone e conjuntos de réplicas que usam o MongoDB 4.4 ou versões anteriores, pois a ordem dos campos do documento pode variar.
Se você precisar sincronizar um cluster fragmentado ou uma versão mais antiga do MongoDB, ou se os bloqueios forem inaceitáveis para o volume de trabalho do aplicativo, use um método de verificação diferente.
Passos
Recuperar o hash de origem
Execute o comando dbHash
no cluster de origem. No campo collections
, liste cada coleção incluída na sincronização. Em seguida, retorne o campo de saída md5
:
db.runCommand({ dbHash: 1, collections: [ "accounts.us_accounts", "accounts.eu_accounts", ... ]}).md5
d41d8cd98f00b204e9800998ecf8427e
Ao executar este comando, recupere o hash de destino.
Recuperar o hash de destino
Execute o comando dbHash
no agrupamento de destino. No campo collections
, liste cada coleção incluída na sincronização. Em seguida, retorne o campo de saída md5
:
db.runCommand({ dbHash: 1, collections: [ "accounts.us_accounts", "accounts.eu_accounts", ... ]}).md5
d41d8cd98f00b204e9800998ecf8427e
Observe o hash.