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

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

3天内不再提示

Redis 大数据量高速迁移,2000W key不到2分钟!

数据库小组 来源:数据库小组 作者:数据库小组 2023-09-12 15:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Redis是目前最流行的键值对存储数据库,凭借高性能和丰富的数据类型的特性,不仅可以作为缓存,还可以作为一个可持久化的数据库存储。随着业务的发展和版本的迭代,必然会遇到内存不足、集群节点不够和BUG等一系列问题。为了防止这些问题导致的系统故障,常常会把对内存、集群节点扩缩容和版本升级等操作作为工作考核的重要一项。这些操作都涉及了数据的迁移,所以,提供高效、安全的不停机数据迁移方案是非常有必要的。

现在,NineData 在支持业务不中断的前提下,实现了配置简单、稳定、高效、安全的数据迁移服务,很好地满足版本升级、扩容、缩容等场景下对数据迁移和同步的需求。经实测,NineData 可在 2分钟内完成2000万个 key(5GB)数据的迁移,平均 迁移速度为 164398 个key/秒,性能是开源工具的2倍多。

1、传统的迁移方案

目前,数据迁移主要的方式有:使用 RDB 迁移,或一些开源工具进行数据迁移。对于这些方式的迁移,会存在一些问题:

需要停机,对于拷贝 RDB 文件方式的迁移,不能保障在线业务,并且也不能兼容大版本升级。

准确性难保障,不支持数据检测能力,迁移后的数据质量难以保障。

可靠性差,对于开源工具,迁移异常后,进程直接退出。

运维性差,不能进行暂停、限流、告警等操作。

2、高性能的迁移方案

NineData 提供的数据复制同时包含了数据迁移和数据同步的能力,在不影响业务的前提下,提供了高效、稳定、安全的迁移能力。相较于传统迁移比,NineData 的 Redis 数据迁移能力有如下优势:

▶︎ 简单易用

一分钟即可完成任务配置,并全自动化完成任务迁移。

▶︎ 强劲性能

通过动态攒批、队列优化、流式内存管理等核心技术,迁移性能达到16万key/秒,性能是开源迁移工具的2倍,有效保障迁移效率。

▶︎ 高可靠

结合新型断点、异常诊断及丰富的修复手段,对于迁移过程中可能出现软硬件故障,提供完善的容灾能力,大大提高了迁移的成功率。

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

3、操作使用

NineData 在提供强大迁移能力的同时,也保证了使用的简单性,只需1分钟就能完成迁移任务的配置,实现完全自动化的数据迁移过程。下面我们来看下整个任务的配置过程:

3.1 迁移链路的配置

wKgZomUAFgKAGTXFAAT9gTprfts621.jpg

迁移链路的配置

1. 配置任务名称,选择要迁移的源和目标实例。

2. 选择复制类型,数据迁移选择结构和全量复制(数据迁移)。

3. 根据需要,选择合适的冲突处理策略。

3.2 选择迁移对象

wKgaomUAFgOAR9pBAARC9Qm8gqU180.jpg

选择迁移对象

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

3.3 配置映射对象

wKgZomUAFgOAefhRAARDPj_iFzY630.jpg

配置映射对象

配置映射:可以把源实例的多个数据库(0~15)映射到目标实例的指定1个或多个数据库,通过该映射能力可以实现类似于 MySQL 多源复制的场景。

3.4 预检查

wKgaomUAFgSALmWqAAYiv2zSalQ287.jpg

预检查

通过完善的检查项,保证了迁移任务的稳定性。到此,我们就完成了一个高效、安全的 Redis 迁移任务的配置,当完成配置并启动任务后,NineData 会自动启动全量复制及增量复制过程,实现全自动化的数据迁移。

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

wKgZomUAFgWAbGseAAbFCaKQEZI809.jpg

NineData针对迁移过程提供了完善的观测能力

wKgaomUAFgaAFSf0AAW9F3NV8z4056.jpg

NineData提供完善的可干预能力

wKgZomUAFgaAUjXRAAXHHgxDSTo964.jpg

NineData提供基础诊断和迁移限流能力

4、总结

NineData 基于全量复制、增量日志复制技术,提供了高效、安全可靠的 Redis 不停机迁移方案。当然,除了 Redis,NineData 已经支持数十种常见数据库的迁移复制,实现数据库迁移、数据容灾、数据双活、数据仓库实时集成等业务场景。同时,除了 SAAS 模式外,还提供了企业专属集群模式,满足企业最高的数据安全合规要求。目前,NineData已在运营商、金融、制造业、地产、电商等多个行业完成大规模应用实践。

审核编辑 黄宇

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

    关注

    9

    文章

    2076

    浏览量

    67173
  • 开源
    +关注

    关注

    3

    文章

    4031

    浏览量

    45568
  • Redis
    +关注

    关注

    0

    文章

    390

    浏览量

    12059
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无质量损失的数据迁移:Nikon SLM Solutions信赖3Dfindit企业版

    的同时,输入每个新零件节省了约13分钟。 一个软件,多种应用除了数据迁移,Nikon SLM Solutions还使用3Dfindit企业版对标准件、外购件和自制专有件进行结构化管理,以及将电子CAD
    发表于 11-25 10:06

    无线充电25w:30分钟满血复活

    25W无线充电提升充电速度,实现30分钟补电,提升用户体验,推动无线充电技术发展。
    的头像 发表于 10-21 08:31 563次阅读
    无线充电25<b class='flag-5'>w</b>:30<b class='flag-5'>分钟</b>满血复活

    Redis集群部署配置详解

    Redis集群是一种分布式Redis解决方案,通过数据分片和主从复制实现高可用性和横向扩展。集群将整个数据集分割成16384个哈希槽(hash slots),每个节点负责一部
    的头像 发表于 07-17 11:04 588次阅读

    cypress3014怎么查看USB走线每帧传输的图像数据量

    你好,请问怎么查看USB 走线每帧传输的图像数据量
    发表于 05-14 06:12

    【道生物联TKB-620开发板试用】开箱

    ,并分别插在不同的电脑上,打开MassConfig软件,开始基本的收发测试。 发送100包100字节的数据, 接收端收到100包100字节数据,室内收发测试ok。 【3】最大数据量测试 接下来测试
    发表于 04-18 18:18

    HAL库SPI DMA批量传输数据量最大为2^16,有没有办法改成上限为2^32?

    HAL库SPI DMA批量传输数据量最大为2^16,有没有办法改成上限为2^32
    发表于 03-07 13:02

    ADS1232高速测量时出现20分钟的长周期波动,是什么原因呢?

    时(10次/秒),波动已经可以做到10个字以内,但是高速(80次/秒)时测值波动较大,采用4个周期的移动平均滤波后,稳定性增强,但是数据出现20分钟的长周期波动,波动幅度在800个字,形状类似锯齿波,请问是什么原因呢?
    发表于 02-14 07:11

    使用TLV5637进行数据转换,同一个文件,有的时候可以的到输出信号,有的时候就不到,为什么?

    使用TLV5637进行数据转换,通过FPGA写入数据,时钟以及片选。 同一个文件,有的时候可以的到输出信号,有的时候就不到,但是
    发表于 01-24 07:13

    一种轻表方案-MyBatis拦截器表实践

    作者:京东零售 张均杰 背景 部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到
    的头像 发表于 01-23 17:38 655次阅读

    Redis Cluster之故障转移

    主从复制中单机的 QPS(10W)可能无法满足业务需求。 数据量的考虑:现有服务器内存不能满足业务数据的需要时,单纯向服务器添加内存不能
    的头像 发表于 01-20 09:21 1255次阅读
    <b class='flag-5'>Redis</b> Cluster之故障转移

    基于javaPoet的缓存key优化实践

    数据库中的热数据缓存在redis/本地缓存中,代码如下:   @Cacheable(value = { "per" }, key="#person.getId
    的头像 发表于 01-14 15:18 1160次阅读
    基于javaPoet的缓存<b class='flag-5'>key</b>优化实践

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移

    提供了async版本供该场景使用。 当前,wantParams中“sessionId”字段在迁移流程中被系统占用,建议开发者在wantParams中定义其他key值存储该分布式数据对象生成的id,避免
    发表于 12-24 10:11

    使用LMP90100连续工作2、3分钟后,每片LMP90100返回的数据都是某个固定通道的数据,为什么?

    LMP90100返回的数据都是某个固定通道的数据,重新上电后有时通道序号有变化,但以第二个通道数据居多,其他3路数据不见了 问题2: 在起
    发表于 12-23 07:53

    缓存对大数据处理的影响分析

    缓存对大数据处理的影响显著且重要,主要体现在以下几个方面: 一、提高数据访问速度 在大数据环境中,数据存储通常采用分布式存储系统,数据量庞大
    的头像 发表于 12-18 09:45 1108次阅读

    Redis缓存与Memcached的比较

    Redis和Memcached都是广泛使用的内存数据存储系统,它们主要用于提高应用程序的性能,通过减少对数据库的直接访问来加速数据检索。以下是对Re
    的头像 发表于 12-18 09:33 916次阅读