数据同步

数据同步

数据同步功能提供任务化的数据迁移能力,支持全量、增量、差异等多种同步模式。

功能概述

  • 创建数据同步任务
  • 多种同步模式(全量 / 增量 / DDL)
  • 任务状态管理(启动 / 停止)
  • 同步进度跟踪
  • 同步数据归档

同步任务列表

进入「同步任务」页面,展示所有已创建的同步任务:

列 说明
名称 任务名称
源数据源 数据来源
目标数据源 数据去向
源表 源端表名
目标表 目标端表名
同步模式 full / incremental / ddl
状态 pending / running / completed / failed / stopped
进度 百分比进度条
操作 启动 / 停止 / 编辑 / 删除

创建同步任务

  1. 点击 「新建」 按钮
  2. 填写任务信息:
字段 说明
名称 任务名称
源数据源 选择数据来源的数据库连接
目标数据源 选择数据去向的数据库连接
源表 源端要同步的表名
目标表 目标端接收数据的表名
同步模式 全量 / 增量 / DDL
  1. 点击「确定」保存

同步模式

模式 说明 适用场景
full 全量同步,读取源表全部数据写入目标表 初次迁移、全量备份
incremental 增量同步,仅同步新增/变更的数据 定期同步、持续迁移
ddl DDL 同步,同步表结构定义 结构一致性维护

任务状态

状态 说明
pending 等待执行
running 正在执行中(显示进度条)
completed 已完成
failed 执行失败(可查看错误信息)
stopped 手动停止

任务操作

操作 说明
启动 开始执行同步任务
停止 终止正在运行的任务
编辑 修改任务配置
删除 删除任务(需确认)

对比页同步

除了任务化的同步,还可以在「结构对比」页面中直接进行数据同步。这种方式更适合临时性的同步需求。

操作步骤

  1. 进入「结构对比」页面
  2. 选择源库和目标库,执行对比
  3. 选中要同步的表
  4. 点击「同步数据」按钮
  5. 配置同步选项
  6. 执行同步

同步选项

选项 说明
清空目标表 同步前先 TRUNCATE 目标表
同步 ID 字段 是否包含自增主键列
全表同步 同步源表全部数据
仅同步选中行 仅同步在对比页面中选中的行
行差异同步 按指定字段对比,仅同步差异行
同步指定列 仅同步选定的列

行差异同步

行差异同步是最精细的同步模式:

  1. 选择「行差异同步」模式
  2. 指定检查字段(用于匹配源表和目标表的行)
  3. 指定同步列(仅更新这些列的值)
  4. 系统逐行对比,仅同步有差异的行

算法:

  • 按检查字段构建目标表行的索引
  • 遍历源表行:
    • 目标表不存在 → 标记为 INSERT
    • 目标表存在但同步列值不同 → 标记为 UPDATE
    • 目标表存在且值相同 → 跳过

同步安全

审计日志

每次数据同步操作都会记录审计日志,包含:

  • 操作人
  • 源/目标数据源
  • 表名
  • 同步模式和选项
  • 同步行数
  • 执行结果

数据归档

同步的数据自动导出为 CSV 文件,按日期目录存放:

data/sync_archive/
├── 2026-06-05/
│   └── ds-abc_users_20260605.csv
├── 2026-06-06/
│   └── ds-abc_users_20260606.csv

归档文件可在审计日志页面在线查看或下载。

事务保护

数据同步在事务中执行,失败时整表回滚,确保数据一致性。

TRUNCATE 警告

如果勾选了「清空目标表」,系统会在执行前显示目标表当前行数作为警告。