增量迁移
功能介绍
增量迁移是指将mysql数据迁移期间(包括全量和增量迁移)产生的增量数据迁移至openGauss端。
原理简介
debezium mysql connector的source端,监控mysql数据库的binlog日志,并将数据(DDL和DML操作)以AVRO格式写入到kafka;debezium mysql connector的sink端,从kafka读取AVRO格式数据(DDL和DML操作),并组装为事务,在openGauss端按照事务粒度并行回放,从而完成数据(DDL和DML操作)从mysql在线迁移至openGauss端。由于该方案严格保证事务的顺序性,因此将DDL和DML路由在kafka的一个topic下,且该topic的分区数只能为1(参数num.partitions=1),从而保证source端推送到kafka,和sink端从kafka拉取数据都是严格保序的。
特性优势
- 利用sysbench对MySQL进行压测,2路鲲鹏920 CPU、openEuler操作系统下,针对混合IUD场景,10张表50个线程(insert-30线程,update-10线程,delete-10线程),在线迁移性能可达3w tps。
- 增量迁移支持两种并行回放模式:按事务并行回放和按表并行回放,按事务并行回放保证数据的事务一致性,按表并行回放保证数据的逻辑一致性,可根据不同的业务场景选择不同的回放模式,达到性能最优。
- 增量迁移支持断点续传功能,可满足工具中断重启后数据持续迁移,中断期间的增量数据不遗漏。
- 增量迁移支持迁移进度与回放失败的SQL语句实时上报。
- 增量迁移支持jdbc超时重连机制,可在jdbc断连后自动重连,用户无感知。
- 增量迁移增加流量控制能力,可在迁移大批量增量数据时触发流量控制,防止系统崩溃。
- 详情查看:https://opengauss.org
详情查看:https://docs-opengauss.osinfra.cn