离线迁移与在线迁移是什么
离线迁移是停机后全量搬运:停机、导出、传输、导入、切换,过程简单可控但停机时间随数据量线性增长。在线迁移则先做全量复制,再用持续增量同步追平差异,最后在很短的停写窗口里完成切换。选择哪条路取决于数据量、可接受的停机窗口与一致性要求,实践中常见组合是:大对象走离线、数据库与核心业务走在线。
基本信息
| 离线 | 停机 → 导出 → 传输 → 导入 → 切换 |
|---|---|
| 在线 | 全量 + 持续增量 → 短暂停写 → 追平切换 |
| 组合 | 大对象走离线,数据库走在线 |
| 选择依据 | 数据量、窗口长度、一致性要求 |
| 关键环节 | 增量校验、窗口预留与回滚时间点 |
典型使用场景
- 可停机业务的整体搬迁,用离线方式最直接
- 核心交易系统要求停机窗口极短,用在线增量加短暂停写
- 动辄数十 TB 的归档与文件数据先用离线传输打底
- 同一系统内混合处理:数据库在线、附件离线
- 跨机房搬迁时分批执行,先搬非核心再搬核心
在线迁移时间轴示意
在线迁移时间轴示意
T0 全量复制开始,业务不中断
T1 增量同步持续追平,观察延迟曲线是否稳定
T2 业务停写窗口开启,等待剩余增量收敛到零
T3 切换应用连接指向新环境
T4 验证与回滚观察期,确认无误后收尾方式对比
| 方式 | 停机时间 | 适用场景 | 主要风险 |
|---|---|---|---|
| 离线全量 | 长,随数据量增长 | 可停机业务、归档数据 | 窗口估算不准导致业务恢复延迟 |
| 在线增量 | 短,仅停写切换窗口 | 核心业务、要求低中断 | 增量追不平或校验不严导致数据差异 |
| 离线打底 + 在线增量 | 短 | 数据量大且不能长时间停机 | 两套流程衔接不当出现遗漏 |
| 大对象离线 | 不影响数据库切换 | 附件、镜像、备份文件 | 传输带宽挤占在线同步链路 |
只做全量不追增量时,割接窗口中业务仍在写入,差异会持续放大,最终无法在窗口内收敛;增量同步与校验要一起设计。
在线迁移的窗口要按「最坏情况」预留:增量延迟、校验耗时与回滚判断都要算进去,窗口过紧会把可恢复的问题变成事故。