本文内容基于 YashanDB 高可用架构师马志宏在“2024 国产数据库创新生态大会·根技术专场”的分享进行整理,带你全面了解 YashanDB 如何实现“真正的全量+增量无缝迁移”。
image.png

崖山迁移平台 YMP 是什么?

YMP(Yashan Migration Platform)是 YashanDB 自主研发的数据迁移平台工具,支持从多种异构数据库(如 Oracle、MySQL 等)向 YashanDB 进行:

迁移评估

全量数据迁移

增量同步迁移

数据一致性校验

在最新 V23.3 版本中,YMP 正式引入“增量迁移组件”,支持:

全量+增量在线迁移

不影响业务运行的“无感切换”

支持无主键表、复杂 DDL 操作、逻辑日志解析等复杂场景

image.png
迁移流程分三步走

1.元数据迁移(建表、映射、黑名单、冲突处理等)

2.高性能全量迁移(支持拆分大表、线程并发迁移)

3.增量迁移(基于日志的实时数据追踪)
image.png

元数据迁移:灵活、快速、可控

支持对象级别精细迁移控制:可按 schema、表名单、黑名单配置迁移范围

支持表名/schema 映射:适配源端与目标端命名不一致的情况

并行构建元数据:多线程+批量查询,加速表结构生成

冲突自动处理策略:可选择 truncate 原表、保留原数据、抛错人工干预

全量迁移:快!200MB/s!

多线程并发迁移,不同表独立处理

大表自动切分,无需主键也能精准拆分

源端并发读取 + 目标端批量写入,读写解耦

理论性能:全量迁移速度可达 200MB/s
image.png

无缝衔接增量迁移:不重不漏、数据不断

迁移组件基于 闪回查询+逻辑日志分析,完美实现全量与增量的自然过渡:

闪回查询确保全量阶段快照一致

增量阶段从“活跃事务起点”Redo 日志开始抓取

自动过滤重复事务,避免重复入库

支持无主键表、复杂事务场景,确保数据一致性 + 业务不中断。
image.png

增量迁移技术细节

1.增量日志采集:YStream 服务

由数据库原生提供的日志解析组件

支持主备部署,可放在备库上减压主库

自动生成增量 SQL,传输到目标端执行
image.png

2.YStream 优化点

优先读 Redo Buffer,减小磁盘 IO

并行解析:多线程 hash 分组解析,再统一聚合

事务一致性保证:严格按事务顺序发送,支持断点续传

DDL 附带详细元信息:包括主键信息、列变更、约束名等,完美避免 DDL 执行失败

image.png
增量数据入库:表级并发 vs 事务并发
image.png

支持 DML 合并、事务聚合批处理、批量提交,最大程度提升吞吐性能。

image.png
断点续传:迁移组件的“保底机制”

每次增量同步记录 position

遇到异常断开(如宕机),重连后自动从断点恢复

保证“不漏一条,不重一条”,实现真正的“精确一次”

未来展望:YashanDB 迁移平台将走向何方?

兼容更多异构数据库:适配性更强

实现双向复制与多活部署:同步不再是单向

加强数据治理:数据清洗、质量校验、类型转换更智能

总结一句话:YashanDB 的数据迁移能力,已经不再是简单的“表数据复制”,而是在业务不中断的前提下实现“结构+数据+逻辑”三位一体的精准迁移!


数据库砖家
1 声望0 粉丝