更新时间:2023-11-21 gmt 08:00
leveldb到geminidb redis的迁移-凯发k8国际娱乐官网入口
leveldb是一个开源的持久化kv单机数据库引擎,具有很高的随机写,顺序读/写性能,适合应用在写多读少的场景。其内部没有设计成c/s网络结构,使用时必须和服务部署在同一台服务器,对于服务的部署、使用有较大的限制。相比于在leveldb基础上开发的rocksdb, leveldb存在较多缺点,如无法很好的使用多核服务器的计算性能,无法支撑tb级数据存储,不支持从hdfs读取数据等。
geminidb redis采用rocksdb作为存储引擎,兼容redis协议,具有丰富的数据类型,可以满足leveldb的使用需求。同时geminidb redis对rocksdb进行深度定制,实现秒级分裂弹性扩容,扩缩容无需搬迁数据,快速而平滑,为leveldb业务转到redis生态提供了便利。
本章节主要介绍leveldb到geminidb redis的迁移方案。
迁移原理
- 使用自研迁移工具leveldb-port,和leveldb部署在相同机器上,准备好配置文件,启动迁移即可自动完成全量与增量的迁移。
- 全量迁移对leveldb数据进行快照,然后扫描整个数据库,将数据打包成geminidb redis识别的格式,发送到geminidb redis ,具有很高的迁移效率。
- 增量迁移解析leveldb的wal文件,将leveldb的操作解析出来,然后对其中的key进行分片,多线程进行发送。
使用须知
- 迁移工具需要部署在源端,对性能有一定消耗,可通过修改配置文件进行一定的控制。
- 迁移过程读取leveldb的源数据文件,只读操作,理论上不会有数据受损风险。
- 迁移过程不需要停服。
- 若迁移过程出现故障,需要清理geminidb redis实例,重新启动迁移。
操作步骤
如需进行leveldb到geminidb redis的迁移,您可以在管理控制台右上角,选择“”,联系凯发k8国际娱乐官网入口的技术支持进行处理。
迁移性能参考
- 环境:源端leveldb和leveldb-port部署在华为云4u16gb的弹性云服务器上,目标端为2u8gb,3节点的geminidb redis实例。
- 全量迁移:预置10gb数据,迁移速度约8mb/s。
- 增量迁移:设置value值大小为1kb,迁移速度约为7000qps。
父主题:
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨