本文内容基于 YashanDB 高可用架构师马志宏在“2024 国产数据库创新生态大会·根技术专场”的分享进行整理,带你全面了解 YashanDB 如何实现“真正的全量+增量无缝迁移”。
崖山迁移平台 YMP 是什么?
YMP(Yashan Migration Platform)是 YashanDB 自主研发的数据迁移平台工具,支持从多种异构数据库(如 Oracle、MySQL 等)向 YashanDB 进行:
迁移评估
全量数据迁移
增量同步迁移
数据一致性校验
在最新 V23.3 版本中,YMP 正式引入“增量迁移组件”,支持:
全量+增量在线迁移
不影响业务运行的“无感切换”
支持无主键表、复杂 DDL 操作、逻辑日志解析等复杂场景
迁移流程分三步走
1.元数据迁移(建表、映射、黑名单、冲突处理等)
2.高性能全量迁移(支持拆分大表、线程并发迁移)
3.增量迁移(基于日志的实时数据追踪)
元数据迁移:灵活、快速、可控
支持对象级别精细迁移控制:可按 schema、表名单、黑名单配置迁移范围
支持表名/schema 映射:适配源端与目标端命名不一致的情况
并行构建元数据:多线程+批量查询,加速表结构生成
冲突自动处理策略:可选择 truncate 原表、保留原数据、抛错人工干预
全量迁移:快!200MB/s!
多线程并发迁移,不同表独立处理
大表自动切分,无需主键也能精准拆分
源端并发读取 + 目标端批量写入,读写解耦
理论性能:全量迁移速度可达 200MB/s
无缝衔接增量迁移:不重不漏、数据不断
迁移组件基于 闪回查询+逻辑日志分析,完美实现全量与增量的自然过渡:
闪回查询确保全量阶段快照一致
增量阶段从“活跃事务起点”Redo 日志开始抓取
自动过滤重复事务,避免重复入库
支持无主键表、复杂事务场景,确保数据一致性 + 业务不中断。
增量迁移技术细节
1.增量日志采集:YStream 服务
由数据库原生提供的日志解析组件
支持主备部署,可放在备库上减压主库
自动生成增量 SQL,传输到目标端执行
2.YStream 优化点
优先读 Redo Buffer,减小磁盘 IO
并行解析:多线程 hash 分组解析,再统一聚合
事务一致性保证:严格按事务顺序发送,支持断点续传
DDL 附带详细元信息:包括主键信息、列变更、约束名等,完美避免 DDL 执行失败
增量数据入库:表级并发 vs 事务并发
支持 DML 合并、事务聚合批处理、批量提交,最大程度提升吞吐性能。
断点续传:迁移组件的“保底机制”
每次增量同步记录 position
遇到异常断开(如宕机),重连后自动从断点恢复
保证“不漏一条,不重一条”,实现真正的“精确一次”
未来展望:YashanDB 迁移平台将走向何方?
兼容更多异构数据库:适配性更强
实现双向复制与多活部署:同步不再是单向
加强数据治理:数据清洗、质量校验、类型转换更智能
总结一句话:YashanDB 的数据迁移能力,已经不再是简单的“表数据复制”,而是在业务不中断的前提下实现“结构+数据+逻辑”三位一体的精准迁移!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。