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

SSDB到GeminiDB Redis的迁移

SSDB是一款使用C/C++语言开发的高性能NoSQL数据库,和Redis具有相似的API,支持KV,list,map(hash),zset(sorted set),qlist(队列)等数据结构,因此得到了广泛的应用。SSDB是一个持久化的KV存储系统,底层使用leveldb作为存储引擎。其业务直接与LevelDB交互,Compaction等操作会对业务读写造成直接的影响。 GeminiDB Redis接口是一款兼容Redis生态的云原生NoSQL数据库,基于共享存储池的多副本强一致机制,以保证数据的安全性和可靠性。GeminiDB Redis接口使用RocksDB作为存储引擎,其性能与leveldb相比有了很大的提升, 并解决了leveldb主动限制写的问题,同时实现了冷热分离,减小了存储层的操作对性能造成的影响。

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

迁移原理

ssdb-port作为源端SSDB数据库的主节点的从节点(replica)运行,通过主从复制的方式进行数据迁移。将获取到的数据解析、转换为Redis支持的格式,并发送到配置文件中指定的Redis实例,迁移过程如下图所示。全量同步完成后,SSDB中新增的数据也会同步到Redis实例中。

图1 迁移原理

使用须知

  • ssdb-port作为SSDB主节点的从节点,只读取全量和增量数据,无数据受损风险。
  • 由于在源端使用ssdb-port迁移工具,源端SSDB性能会受到一定的影响。
  • 全量迁移和增量迁移可以不停服,数据全部迁入GeminiDB Redis后需要短暂停服。

前提条件

GeminiDB Redis实例所在的VPC网络中创建ECS实例,部署迁移工具ssdb-port,保证源端SSDB实例和目标端GeminiDB Redis实例网络互通。

操作步骤

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

迁移性能参考

  • 环境:源端SSDB和ssdb-port同时部署在华为云4U16GB的弹性云服务器上,目标端为8U16GB,3节点GeminiDB Redis实例。
  • 预置数据:使用memtier_benchmark工具预置100GB数据。
  • 迁移性能:约3000qps。