在上篇「Redis高效、安全的不停机数据迁移方案」的文章中,介绍了NineData在Redis迁移场景下的性能和优势。因为数据在主备、多云和多区域环境之间的迁移流动,难免会产生数据一致性的问题,而结构与数据不一致往往是导致故障的原因之一。所以,如何快速准确地完成 Redis 数据对比成为了一个重要的问题。

现在,NineData 在支持业务不中断的前提下,实现了配置简单、高效和安全的数据对比服务,很好地保障了各场景下因数据迁移导致数据不一致的问题。经实测,NineData可在 1 分钟内完成 800 万个key( 2GB,涉及所有类型)的数据对比,平均对比速率为 13万/秒,并且找出不一致的key,生成详细的对比报告,帮助您快速定位和修复不一致的数据。地址:https://www.ninedata.cloud/compare

目前,数据对比主要的方式有:通过解析遍历RDB二进制文件、SCAN遍历实例以及一些开源工具进行数据对比,对于这些方式的对比,会存在一些问题:

兼容性差,不同版本的Redis,RDB文件格式发生变化,对于解析RDB文件方式的对比,需要开发适配。

  • 可用性差,对比完成之后,无法自动生成修复操作。
  • 可靠性差,对于开源工具,对比异常后,无法断点。
  • 运维性差,不能进行进度查看、暂停、告警等操作。

NineData高效的数据对比方案

NineData 在提供了「数据复制」和「可视化管理」的同时,又进一步拓展了Redis对比的能力,很好地满足了Redis对于数据一致性的要求。相较于传统对比,NineData 的Redis数据对比能力有如下优势:

  1. 简单易用:一分钟即可完成任务配置,并全自动化完成对比任务。
  2. 强劲性能:通过多线程、队列优化、流式内存管理等核心技术,对比性能达到 13万/秒,有效保障对比效率。
  3. 完善的功能:支持Redis数据的一致性对比,同时提供了一次性对比、周期性对比、快速对比等适合多种使用场景的对比功能,并且也提供了不一致数据修复的能力。
  4. 可视化界面:拥有简洁直观的用户界面,无需复杂的设置即可进行数据对比,并且以直观的图表和报告呈现对比结果,使您轻松理解数据差异。
  5. 安全可靠:NineData 平台通过国家公安部三级网络安全等级保护认证,为企业的信息安全提供高等级的防护。

通过上述优势,保证了 NineData 在Redis对比场景下的领先性。另外,NineData 还提供了对比功能,包含全量、快速和不一致复检的对比方式,并且也支持不同的对比频率。在迁移或复制结束后,通过对比,有效地保障数据的质量。

对比链路的配置

NineData数据对比链路的配置

1. 配置任务名称,选择要对比的源数据源和目标数据源。

2. 对比频率,可选择一次性对比或按照需要定期对比。

3. 对比方式,可选择全量数据对比或自定义抽样比例对比。

选择对比对象

通过NineData数据对比选择对比对象

选择对比对象:可选择不同DB进行对比。

配置映射对象

通过NineData配置映射对象

配置映射:可以把源实例的多个数据库映射到目标实例指定的1个或多个数据库。

预检查

NineData数据对比提供了预检查功能

通过完善的检查项,保证了对比任务的稳定性。到此,我们就完成了一个快速、高效的Redis对比任务的配置,当完成配置并启动任务后,NineData就实现全自动化的数据对比。

同时,为了提供更好的对比体验,NineData针对对比过程提供了完善的观测、干预能力。其不但提供对象对比的详细状态、进展、详情,还通过监控和日志透露后台线程的内部执行情况,帮助用户全方位追踪对比进展。同时,还针对运行过程中可能出现的异常情况,提供告警和对比暂停能力,让用户能够自主快速地诊断并修复异常,保障对比的稳定性。对比期间的信息:

NineData提供对比期间的信息总览

在监控中可以看到对比的RPS,实时了解对比的性能。除了监控外,如果遇到数据不一致的情况,在操作列中则会出现「查看详情」按钮。进去可以看到具体key的不一致信息:

通过NineData查看具体key的不一致信息

最后,在操作列中可以看到「SQL」按钮,会显示提供修复不一致数据的操作:

NineData生成修复不一致数据的变更SQL

总结

NineData 数据对比是一款云原生数据对比产品,具备每秒处理100万笔记录的高效能力。它提供了一站式支持,适用于IDC自建、云主机自建以及云数据库。并支持多种数据库,除了Redis之外,还包括MySQL、SQL Server、PostgreSQL、MongoDB、ClickHouse、Doris等,可进行数据库间的结构对比和数据对比。

此外,NineData还支持同构和异构数据源之间的数据一致性校验。用户可以选择结构对比、全量对比、抽样对比、周期性对比等多种对比方式。NineData能够动态监测数据库负载,自适应调整对比速度,确保数据库的稳定性。丰富的数据源支持使得NineData能够满足不同客户的需求。此外,NineData在结构对比方面拥有业界领先的覆盖度,对象类型及属性覆盖度业界 NO.1。

数据对比-数据校验-数据一致性-NineData-玖章算术NineData数据对比是由玖章算术研发的云原生数据对比产品,每秒可处理100万笔记录。能够高性能地完成两个数据源的结构定义和数据内容的一致性对比。对于不一致的情况,它能够自动生成变更SQL语句,执行后即可实现两端数据和结构的一致性。数据对比功能支持比对所有常见数据库对象,包括表、存储过程、函数、触发器、视图等。icon-default.png?t=N7T8https://www.ninedata.cloud/compare

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐