0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用NineData快速、高效完成Redis差异数据对比!

数据库小组 来源:数据库小组 作者:数据库小组 2023-10-07 11:57 次阅读

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

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

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

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

可用性差,对比完成之后,无法自动生成修复操作。

可靠性差,对于开源工具,对比异常后,无法断点。

运维性差,不能进行进度查看、暂停、告警等操作。

NineData高效的数据对比方案

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

简单易用:一分钟即可完成任务配置,并全自动化完成对比任务。

强劲性能:通过多线程、队列优化、流式内存管理等核心技术,对比性能达到 13万/秒,有效保障对比效率。

完善的功能:支持Redis数据的一致性对比,同时提供了一次性对比、周期性对比、快速对比等适合多种使用场景的对比功能,并且也提供了不一致数据修复的能力。

可视化界面:拥有简洁直观的用户界面,无需复杂的设置即可进行数据对比,并且以直观的图表和报告呈现对比结果,使您轻松理解数据差异。

安全可靠:NineData 平台通过国家公安部三级网络安全等级保护认证,为企业的信息安全提供高等级的防护。

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

对比链路的配置

wKgaomUg1xeAH56fAATdKomQARE228.jpg

NineData数据对比链路的配置

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

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

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

选择对比对象

wKgaomUg1xqAdjJfAAthXQ69sIg828.jpg

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

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

配置映射对象

wKgZomUg1xuAXx2aAALc0bHycnk146.jpg

通过NineData配置映射对象

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

预检查

wKgZomUg1xyAUHPOAAYkOSnASr0778.jpg

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

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

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

wKgaomUg1x2AKCH9AAXAF8njS44496.jpg

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

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

wKgZomUg1x-ACc-XAASDu0-8kxs921.jpg

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

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

wKgaomUg1yCAJvhdAAPBHjv-d8I191.jpg

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

总结

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

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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3750

    浏览量

    64216
  • Redis
    +关注

    关注

    0

    文章

    370

    浏览量

    10824
收藏 人收藏

    评论

    相关推荐

    Redis为什么这么快?

    Redis 是基于内存的数据库,那不可避免的就要与磁盘数据库做对比。对于磁盘数据库来说,是需要将数据
    发表于 04-12 10:32 196次阅读
    <b class='flag-5'>Redis</b>为什么这么快?

    一分钟,自动完成Redis数据迁移

    NineData提供了高效、安全的Redis不停机数据迁移方案。与传统迁移方案相比,NineData具备简单易用、强劲性能和高可靠性的优势。
    的头像 发表于 01-08 11:34 386次阅读
    一分钟,自动<b class='flag-5'>完成</b><b class='flag-5'>Redis</b><b class='flag-5'>数据</b>迁移

    【爱芯派 Pro 开发板试用体验】Redis源码编译和基准测试

    使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。 Redis官网的介绍是: The open source, in-memory data store used
    发表于 12-10 22:18

    【昉·星光 2 高性能RISC-V单板计算机体验】Redis源码编译和性能测试以及与树莓派4B对比

    Redis是什么 维基百科的介绍是: Redis是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。 Redis官网的介绍是: The
    发表于 12-10 21:27

    redis是关系型数据库吗

    Server)是一个开源的高性能键值对存储系统。它使用C语言编写,具有内存中数据存储和持久化到硬盘的功能。Redis支持多种数据结构,如字符串、哈希表、列表、集合和有序集合等,这使得它可以应对各种类型的应用需求。
    的头像 发表于 12-05 10:32 1444次阅读

    redis数据结构的底层实现

    结构,包括字符串、列表、哈希表、集合和有序集合。每种数据结构都有不同的底层实现,以满足对于不同操作的高效支持。 首先,我们来看Redis中最基本的数据结构——字符串。
    的头像 发表于 12-05 10:14 568次阅读

    redis数据会自动清除吗

    Redis数据不会自动清除,但它提供了一些机制来管理数据的过期和淘汰。在默认情况下,Redis只会在内存中存储数据,并且没有自动清除机制。
    的头像 发表于 12-05 10:13 2186次阅读

    redis容器内怎么查看redis日志

    redis是一款流行的开源内存数据库,常用于缓存、消息队列、任务管理等场景。在使用redis时,了解如何查看redis日志对于排查问题、监控性能和分析应用程序行为非常重要。在本文中,我
    的头像 发表于 12-05 10:10 3331次阅读

    redis的lru原理

    Redis是一种基于内存的键值数据库,它使用了LRU(Least Recently Used)算法来进行缓存的数据淘汰。LRU算法的核心思想是最近最少使用的数据将会在未来也不常用,因此
    的头像 发表于 12-05 09:56 585次阅读

    redis怎么用在项目上

    Redis是一个开源的内存数据存储系统,可以用于对高速读写的数据进行存储和访问。它提供了一种键值对的存储方式,可以支持多种数据结构,并且具有高效
    的头像 发表于 12-04 16:43 635次阅读

    redis的原理和使用场景

    Redis(Remote Dictionary Server)是一个开源的、高性能的非关系型(NoSQL)的键值对数据库管理系统。它以其快速读写能力和多种数据结构支持而闻名,并被广泛应
    的头像 发表于 12-04 16:29 549次阅读

    redis的持久化方式RDB和AOF的区别

    文件是一个二进制文件,包含了 Redis 数据的压缩版本。 优点: RDB 适用于备份和恢复操作,当 Redis 重启时,可以快速
    的头像 发表于 12-04 16:25 718次阅读

    redis的淘汰策略

    Redis是一种基于内存的键值存储系统,为了充分利用内存,Redis采用了一些淘汰策略来管理内存空间。淘汰策略的作用是当内存空间不足时,选择合适的数据对象进行淘汰,释放出更多的内存空间,以供后续
    的头像 发表于 12-04 16:23 510次阅读

    redis与mysql的区别

    Redis与MySQL是两种常见的数据库管理系统,两者在很多方面存在差异,本文将详细分析Redis与MySQL的区别。 数据模型:
    的头像 发表于 11-16 11:21 998次阅读

    redis的五种数据类型底层数据结构

    Redis是一种内存数据存储系统,支持多种数据结构。这些数据结构不仅可以满足常见的存储需求,还能够通过其底层数据结构提供
    的头像 发表于 11-16 11:18 667次阅读