SSDB到GeminiDB Redis的遷移
更新時間 2024-07-04 11:23:17
最近更新時間: 2024-07-04 11:23:17
分享文章
本節主要介紹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-port作為源端SSDB數據庫的主節點的從節點(replica)運行,通過主從復制的方式進行數據遷移。將獲取到的數據解析、轉換為Redis支持的格式,并發送到配置文件中指定的Redis實例,遷移過程如下圖所示。全量同步完成后,SSDB中新增的數據也會同步到Redis實例中。
圖遷移原理

使用須知
- ssdb-port作為SSDB主節點的從節點,只讀取全量和增量數據,無數據受損風險。
- 由于在源端使用ssdb-port遷移工具,源端SSDB性能會受到一定的影響。
- 全量遷移和增量遷移可以不停服,數據全部遷入GeminiDB Redis后需要短暫停服。
前提條件
在GeminiDB Redis實例所在的VPC網絡中創建ECS實例,部署遷移工具ssdb-port,保證源端SSDB實例和目標端GeminiDB Redis實例網絡互通。
操作步驟
如需進行Redis到GeminiDB Redis的遷移,您可以在管理控制臺右上角,選擇“工單 > 新建工單”,聯系技術支持進行處理。
遷移性能參考
- 環境:源端SSDB和ssdb-port同時部署在4U16GB的彈性云服務器上,目標端為8U16GB,3節點GeminiDB Redis實例。
- 預置數據:使用memtier_benchmark工具預置100GB數據。
- 遷移性能:約3000qps。