写点什么

1 分钟完成 1000 万 key 数据对比

作者:NineData
  • 2023-09-28
    浙江
  • 本文字数:1793 字

    阅读完需:约 6 分钟

1分钟完成1000万key数据对比

在上篇「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。地址:https://www.ninedata.cloud/compare

用户头像

NineData

关注

NineData公众号(ID:NineData-Cloud) 2022-11-30 加入

玖章算术研发了云原生智能数据管理平台NineData,包含SQL开发、数据复制、备份和对比等功能,轻松完成数据上云、传输、ETL、备份、SQL开发、数据库研发规范、生产变更和敏感数据管理,致力于让每人用好数据和云。

评论

发布
暂无评论
1分钟完成1000万key数据对比_redis_NineData_InfoQ写作社区