RocksDB到GeminiDB Redis的遷移
更新時間 2024-07-04 11:23:17
最近更新時間: 2024-07-04 11:23:17
分享文章
本節主要介紹RocksDB到GeminiDB Redis的遷移方案。
RocksDB是FaceBook基于LevelDB開發的一個持久化KV單機數據庫引擎,具有強大的順序讀寫及隨機寫性能。相對于LevelDB,RocksDB做了許多優化,性能有了很大提升, 而且解決了LevelDB主動限制寫的問題。作為一個數據庫引擎,RocksDB沒有設計成C/S網絡結構,直接使用需要和服務部署在同一臺服務器,對于服務的部署、使用有較大的限制。
GeminiDB Redis采用RocksDB作為存儲引擎,兼容Redis協議具有豐富的數據類型,可以滿足RocksDB的使用需求。同時GeminiDB Redis對RocksDB進行深度定制,實現秒級分裂彈性擴容,擴縮容無需搬遷數據,快速而平滑,為RocksDB業務轉到Redis生態提供了便利。
遷移原理
- 使用自研遷移工具rocksdb-port,和RocksDB部署在相同機器上,準備好配置文件,啟動遷移即可自動完成全量與增量的遷移。
- 全量遷移對RocksDB數據進行快照,然后掃描整個數據庫,將數據打包成GeminiDB Redis識別的格式,發送到GeminiDB Redis,具有很高的遷移效率。
- 增量遷移解析RocksDB的wal文件,將RocksDB的操作解析出來,然后對其中的key進行分片,多線程進行發送。
使用須知
- 遷移工具需要部署在源端,對性能有一定消耗,可通過修改配置文件進行一定的控制。
- 遷移過程讀取RocksDB的源數據文件,只讀操作,理論上不會有數據受損風險。
- 遷移過程不需要停服。
- 若遷移過程出現故障,需要清理GeminiDB Redis實例,重新啟動遷移。
操作步驟
如需進行Redis到GeminiDB Redis的遷移,您可以在管理控制臺右上角,選擇“工單 > 新建工單”,聯系技術支持進行處理。