kvrocks到geminidb redis的迁移-凯发k8国际娱乐官网入口
kvrocks是一款开源的兼容redis生态的nosql key-value数据库,底层基于rocksdb实现,并提供namespace功能支持数据分区。kvrocks集群管理功能相对薄弱,自建集群时需要与外部组件配合,kvrocks支持的redis命令还不够全面,例如缺少在消息流和统计场景经常使用的stream及hyperloglog数据结构。
geminidb redis是一款兼容redis生态的云原生nosql数据库,基于共享存储池的多副本强一致机制,保证数据的安全可靠。geminidb redis具有高兼容、高性价比、高可靠、弹性伸缩、高可用、无损扩容等特点。不亚于rediscluster的兼容度,使用户在应用时无需修改代码,可直接使用,100%兼容原生接口。geminidb redis在适配kvrocks业务的同时,还能克服器管理能力弱、对redis兼容度不高等缺点。
本章节主要介绍kvrocks到geminidb redis的迁移方案。
迁移原理
使用开源工具kvrocks2redis进行kvrocks到geminidb redis的迁移,在此基础上,从geminidb redis源码层面对kvrocks的namespace功能进行适配。
迁移过程分为全量和增量两个阶段:迁移开始后,先进行全量迁移,此时对kvrocks打快照,并记录对应的数据版本(seq)。然后解析全量数据文件成redis命令写入geminidb redis。全量迁移完成后进入持续的增量迁移过程,迁移工具循环给kvrocks发送psync命令,将获取到的增量数据不断转发给geminidb redis,完成增量迁移 。
使用须知
- kvrocks2redis需要从kvrocks提取数据到本地文件,并从中解析出命令发送到目标端geminidb redis ,该过程中可能影响源端性能,但理论上不会有数据受损风险。
- 迁移工具运行过程中,若出现问题,迁移工具会自动停止,方便问题定位。
- geminidb redis从安全性角度出发,不提供清库语义命令,因此要在迁移开始前确保无数据。
前提条件
- 部署kvrocks2redis到独立主机。
- 确保源端、目标端、迁移工具之间网络互通。
- 源端kvrocks实例提前做好数据备份。
- 目标端geminidb redis实例清空全部数据。
操作步骤
如需进行kvrocks到geminidb redis的迁移,您可以在管理控制台右上角,选择“”,联系凯发k8国际娱乐官网入口的技术支持进行处理。
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨