更新时间:2024-02-08 GMT+08:00

RocksDB到GeminiDB Redis的迁移

RocksDB是FaceBook基于LevelDB开发的一个持久化KV单机数据库引擎,具有强大的顺序读写及随机写性能。相对于LevelDB,RocksDB做了许多优化,性能有了很大提升, 而且解决了LevelDB主动限制写的问题。作为一个数据库引擎,RocksDB没有设计成C/S网络结构,直接使用需要和服务部署在同一台服务器,对于服务的部署、使用有较大的限制。

GeminiDB Redis接口采用RocksDB作为存储引擎,兼容Redis协议具有丰富的数据类型,可以满足RocksDB的使用需求。同时GeminiDB Redis接口对RocksDB进行深度定制,实现秒级分裂弹性扩容,扩缩容无需搬迁数据,快速而平滑,为RocksDB业务转到Redis生态提供了便利。

本章节主要介绍RocksDB到GeminiDB Redis接口的迁移方案。

迁移原理

  • 使用自研迁移工具rocksdb-port,和RocksDB部署在相同机器上,准备好配置文件,启动迁移即可自动完成全量与增量的迁移。
  • 全量迁移对RocksDB数据进行快照,然后扫描整个数据库,将数据打包成GeminiDB Redis识别的格式,发送到GeminiDB Redis,具有很高的迁移效率。
  • 增量迁移解析RocksDB的wal文件,将RocksDB的操作解析出来,然后对其中的key进行分片,多线程进行发送。

使用须知

  • 迁移工具需要部署在源端,对性能有一定消耗,可通过修改配置文件进行一定的控制。
  • 迁移过程读取RocksDB的源数据文件,只读操作,理论上不会有数据受损风险。
  • 迁移过程不需要停服。
  • 若迁移过程出现故障,需要清理GeminiDB Redis实例,重新启动迁移。

操作步骤

如需进行RocksDB到GeminiDB Redis的迁移,您可以在管理控制台右上角,选择“工单 > 新建工单”,联系技术支持进行处理。