Skip to content
阅读进度

如何理解数据库迁移与滚动发布? ​

返回 架构与 SDK 目录

标准回答 ​

发布时可能同时运行新旧版本,数据库结构不能只适合最新程序。常用思路是先增加兼容字段或结构,部署能兼容两种状态的代码,回填与验证后再切换读取,最后移除旧结构。每一步都需要版本和恢复点。

大表回填要分批并限制负载,观察锁、复制延迟、查询和磁盘。给字段加约束、建索引和删除列的实际锁行为需要按数据库版本与命令确认,不应统一宣称在线无阻塞。

回滚代码时要确认它还能读新数据;不可逆数据变换可能无法通过撤回程序恢复。EachOf 的小型迁移验证是局部证据,不能等同于长期大库升级保障。应记录目标规模和确实演练过的路径。

追问与回答 ​

为什么先删旧字段再发新代码危险 ​

旧实例仍可能读写旧字段,滚动过程会出现错误;部署不是同一毫秒替换全部进程。

迁移成功如何验收 ​

不仅看脚本退出码,还应核对行数、约束、数据转换抽样、查询行为和新旧版本兼容。

易混淆点 ​

  • 把小数据库迁移耗时推导为生产大库耗时。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。