当 mongosync完全提交后,请先验证数据传输是否成功,然后再将应用程序切换为使用目标集群。 您可以使用文档计数、哈希比较、文档比较或迁移验证程序来验证数据传输。
用例
您应该在每次同步后验证数据。 如果您计划将应用程序负载从源集群转移到目标集群,这一点非常重要。
验证方法:
用于验证数据的具体方法取决于应用程序工作负载和数据的复杂性。
任务
文档计数
最基本的验证方法是将源集群上每个同步collection中的文档数量与目标集群上的数量进行比较。
仅当针对具有仅插入工作负载的集群运行时,此方法才会验证同步是否成功。
有关详细信息,请参阅使用文档计数进行验证。
哈希比较
您可以通过比较从源集群同步到目标集群的collection的 MD5 哈希值来验证同步。
虽然哈希比较可确保目标集群已收到来自源的所有更改,但dbHash命令会锁定集群,在完成之前阻止其他写入。
注意
无法对分片集群进行哈希比较。 它也不适用于使用 MongoDB 4.4 或更早版本的独立运行的实例和副本集,因为文档字段顺序可能会有所不同。
有关详细信息,请参阅使用哈希比较进行验证。
文档比较
您可以通过比较源集群和目标集群上的文档来验证同步。 编写一个脚本来查询源集群上的collection,然后检查目标集群上是否存在具有相同值的文档。
迁移验证程序
迁移验证程序连接到源集群和目标集群,并执行一系列验证检查,比较文档、视图和索引,以确认同步成功。
Migration Verifier 不支持DDL 操作。 使用 Migration Verifier 验证数据时,请勿在源集群上运行任何 DDL 操作。
重要
迁移验证器是一种实验性且不受支持的工具。
有关安装说明和使用限制,请参阅Github。
与其他验证方法不同,迁移验证程序可以与 mongosync 同时运行,在同步时检查目标集群上的文档。
有关更多信息,请参阅使用迁移验证程序进行验证。
了解详情
有关更多信息,请参阅: