Redis高效、安全的不停机数据迁移方案
Redis是目前最流行的键值对存储数据库,凭借高性能和丰富的数据类型的特性,不仅可以作为缓存,还可以作为一个可持久化的数据库存储。随着业务的发展和版本的迭代,必然会遇到内存不足、集群节点不够和BUG等一系列问题。为了防止这些问题导致的系统故障,常常会把对内存、集群节点扩缩容和版本升级等操作作为工作考核的重要一项。这些操作都涉及了数据的迁移,所以,提供高效、安全的不停机数据迁移方案是非常有必要的。
现在,NineData 在支持业务不中断的前提下,实现了配置简单、稳定、高效、安全的数据迁移服务,很好地满足版本升级、扩容、缩容等场景下对数据迁移和同步的需求。经实测,NineData 可在 2分钟内完成2000万个 key(5GB)数据的迁移,平均 迁移速度为 164398 个key/秒,性能是开源工具的2倍多。
传统的迁移方案
目前,数据迁移主要的方式有:使用 RDB 迁移,或一些开源工具进行数据迁移。对于这些方式的迁移,会存在一些问题:
-
需要停机,对于拷贝 RDB 文件方式的迁移,不能保障在线业务,并且也不能兼容大版本升级。 -
准确性难保障,不支持数据检测能力,迁移后的数据质量难以保障。 -
可靠性差,对于开源工具,迁移异常后,进程直接退出。 -
运维性差,不能进行暂停、限流、告警等操作。
NineData 提供的数据复制同时包含了数据迁移和数据同步的能力,在不影响业务的前提下,提供了高效、稳定、安全的迁移能力。相较于传统迁移比,NineData 的 Redis 数据迁移能力有如下优势:
一分钟即可完成任务配置,并全自动化完成任务迁移。
通过动态攒批、队列优化、流式内存管理等核心技术,迁移性能达到16万key/秒,性能是开源迁移工具的2倍,有效保障迁移效率。
▶︎ 高可靠
迁移链路的配置
1. 配置任务名称,选择要迁移的源和目标实例。
2. 选择复制类型,数据迁移选择结构和全量复制(数据迁移)。
3.2 选择迁移对象

选择迁移对象
选择迁移对象:可选择不同 DB 进行迁移。
3.3 配置映射对象

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

预检查
通过完善的检查项,保证了迁移任务的稳定性。到此,我们就完成了一个高效、安全的 Redis 迁移任务的配置,当完成配置并启动任务后,NineData 会自动启动全量复制及增量复制过程,实现全自动化的数据迁移。
同时,为了提供更好的迁移体验,NineData 针对迁移过程提供了完善的观测、干预能力。其不但提供对象迁移的详细状态、进展、详情,还通过监控和日志透露后台线程的内部执行情况,帮助用户全方位追踪迁移进展。同时,还针对运行过程中可能出现的异常情况,提供基础诊断和迁移限流能力,让用户能够自主快速地诊断并修复链路,保障迁移稳定性。迁移期间的信息:



总结
NineData 基于全量复制、增量日志复制技术,提供了高效、安全可靠的 Redis 不停机迁移方案。当然,除了 Redis,NineData 已经支持数十种常见数据库的迁移复制,实现数据库迁移、数据容灾、数据双活、数据仓库实时集成等业务场景。同时,除了 SAAS 模式外,还提供了企业专属集群模式,满足企业最高的数据安全合规要求。目前,NineData已在运营商、金融、制造业、地产、电商等多个行业完成大规模应用实践。如果您感兴趣的话,可以登录官网https://www.ninedata.cloud/dbmigration,立即开始免费使用。
END
往期推荐

NineData 采用领先的云原生与 AIGC 技术,为云与 AI 时代的架构设计提供了智能数据管理平台。作为业界首个支持跨云和本地 IDC 无缝打通的平台,能够帮助客户轻松完成数据上云、跨云数据实时传输、ETL、数据备份、企业级智能 SQL 开发、数据库研发规范、生产变更以及敏感数据管理等功能,从而让客户的数据使用更加安全高效。