数据同步
数据同步功能提供任务化的数据迁移能力,支持全量、增量、差异等多种同步模式。
功能概述
- 创建数据同步任务
- 多种同步模式(全量 / 增量 / DDL)
- 任务状态管理(启动 / 停止)
- 同步进度跟踪
- 同步数据归档
同步任务列表
进入「同步任务」页面,展示所有已创建的同步任务:
| 列 | 说明 |
|---|---|
| 名称 | 任务名称 |
| 源数据源 | 数据来源 |
| 目标数据源 | 数据去向 |
| 源表 | 源端表名 |
| 目标表 | 目标端表名 |
| 同步模式 | full / incremental / ddl |
| 状态 | pending / running / completed / failed / stopped |
| 进度 | 百分比进度条 |
| 操作 | 启动 / 停止 / 编辑 / 删除 |
创建同步任务
- 点击 「新建」 按钮
- 填写任务信息:
| 字段 | 说明 |
|---|---|
| 名称 | 任务名称 |
| 源数据源 | 选择数据来源的数据库连接 |
| 目标数据源 | 选择数据去向的数据库连接 |
| 源表 | 源端要同步的表名 |
| 目标表 | 目标端接收数据的表名 |
| 同步模式 | 全量 / 增量 / DDL |
- 点击「确定」保存
同步模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| full | 全量同步,读取源表全部数据写入目标表 | 初次迁移、全量备份 |
| incremental | 增量同步,仅同步新增/变更的数据 | 定期同步、持续迁移 |
| ddl | DDL 同步,同步表结构定义 | 结构一致性维护 |
任务状态
| 状态 | 说明 |
|---|---|
| pending | 等待执行 |
| running | 正在执行中(显示进度条) |
| completed | 已完成 |
| failed | 执行失败(可查看错误信息) |
| stopped | 手动停止 |
任务操作
| 操作 | 说明 |
|---|---|
| 启动 | 开始执行同步任务 |
| 停止 | 终止正在运行的任务 |
| 编辑 | 修改任务配置 |
| 删除 | 删除任务(需确认) |
对比页同步
除了任务化的同步,还可以在「结构对比」页面中直接进行数据同步。这种方式更适合临时性的同步需求。
操作步骤
- 进入「结构对比」页面
- 选择源库和目标库,执行对比
- 选中要同步的表
- 点击「同步数据」按钮
- 配置同步选项
- 执行同步
同步选项
| 选项 | 说明 |
|---|---|
| 清空目标表 | 同步前先 TRUNCATE 目标表 |
| 同步 ID 字段 | 是否包含自增主键列 |
| 全表同步 | 同步源表全部数据 |
| 仅同步选中行 | 仅同步在对比页面中选中的行 |
| 行差异同步 | 按指定字段对比,仅同步差异行 |
| 同步指定列 | 仅同步选定的列 |
行差异同步
行差异同步是最精细的同步模式:
- 选择「行差异同步」模式
- 指定检查字段(用于匹配源表和目标表的行)
- 指定同步列(仅更新这些列的值)
- 系统逐行对比,仅同步有差异的行
算法:
- 按检查字段构建目标表行的索引
- 遍历源表行:
- 目标表不存在 → 标记为 INSERT
- 目标表存在但同步列值不同 → 标记为 UPDATE
- 目标表存在且值相同 → 跳过
同步安全
审计日志
每次数据同步操作都会记录审计日志,包含:
- 操作人
- 源/目标数据源
- 表名
- 同步模式和选项
- 同步行数
- 执行结果
数据归档
同步的数据自动导出为 CSV 文件,按日期目录存放:
data/sync_archive/
├── 2026-06-05/
│ └── ds-abc_users_20260605.csv
├── 2026-06-06/
│ └── ds-abc_users_20260606.csv
归档文件可在审计日志页面在线查看或下载。
事务保护
数据同步在事务中执行,失败时整表回滚,确保数据一致性。
TRUNCATE 警告
如果勾选了「清空目标表」,系统会在执行前显示目标表当前行数作为警告。