云数据库 GEMINIDB-Pika到GeminiDB Redis的迁移:迁移原理

时间:2023-12-07 10:29:39

迁移原理

pika-port伪装成Pika的从节点运行,通过主从复制的方式进行数据迁移。Pika主节点通过比较pika-port和自己的binlog偏移量判断做全量迁移还是增量迁移。如果需要做全量迁移,Pika主节点会将全量数据快照发送给pika-port,pika-port将解析后的快照数据发送给GeminiDB Redis。全量迁移结束后进入增量迁移,pika-port将增量数据解析后以redis命令的形式发送给GeminiDB Redis

图1 迁移原理

Pika-migrate的迁移原理和pika-port相似,将工具虚拟为pika的从库,然后从主库获取到数据转发给目标redis,同时支持增量同步,实现在线热迁的功能。

pika-migrate 通过 dbsync 请求获取主库全量 DB 数据,以及当前 DB 数据所对应的 binlog 点位。获取到主库当前全量 DB 数据之后,扫描 DB,将 DB 中的数据打包转发给 Redis。通过之前获取的 binlog 的点位向主库进行增量同步, 在增量同步的过程中,将从主库获取到的 binlog 重组成redis命令,转发给redis。

support.huaweicloud.com/redisug-nosql/nosql_pika_migration.html