网易首页 > 网易号 > 正文 申请入驻

改数据库表结构不停服?六个阶段拆解扩展-收缩模式

0
分享至

生产环境的数据库表结构变更,向来是后端开发最头疼的事之一。直接改?轻则锁表,重则服务中断。Azure SQL 开发专栏最近发了一篇实操向文章,把这件事拆成了六个阶段,核心思路是一个叫「扩展-收缩」的模式——先加新结构,等应用完全迁移过去,再删旧结构。

文章用了一个非常具体的例子:把 Name 列拆成 FirstNameLastName 两列。听起来简单,但真正难的不是写那条 ALTER TABLE 语句,而是变更的顺序。作者 Jerry Nixon 的原话是:"单个 SQL 语句很容易。真正的纪律在于变更顺序。"


六个阶段,一步都不能跳

整个流程被拆成六个明确的步骤,每一步都有它存在的理由:

  1. 新增列:先加两个可为空的新列,旧结构保持原样,此时没有任何破坏性操作。
  2. 应用层双写:代码里同时往旧列和新列写数据,保证新旧结构数据同步。
  3. 分批回填:历史数据不能一次性 UPDATE,得按批次填充新列,避免长时间锁表。
  4. 切换读取:通过金丝雀发布或功能开关,逐步把读请求切到新结构上。
  5. 停止旧列写入:确认所有消费者都迁移完成后,代码里不再写旧列。
  6. 删除旧列:最后一步才是 DROP,而且删之前还得先观察一阵子。

这套顺序的核心逻辑是:任何时刻,新旧结构都是共存的。你永远不会执行一个"破坏性跃迁"——比如直接删列或者改类型——因为那必然导致依赖方报错。

为什么应用层双写比触发器靠谱

文章里专门讨论了一个取舍:同步逻辑放哪?作者明确建议,在可行的情况下优先放应用层。原因很实际:应用层的双写逻辑可见、可调试,迁移完成后删掉也容易。触发器或存储过程虽然能"自动"同步,但它们是隐形的,出了问题很难排查,而且迁移结束后还得记得清理。

当然也有例外——如果多个应用直接写同一张表,或者写入路径本来就走存储过程,那触发器或存储过程反而是更合适的选择。这个判断得看你的实际架构。

回填是最大的坑:别用一条大 UPDATE

很多人会想:历史数据不多,一条 UPDATE 搞定不行吗?文章明确警告:单条大体积 UPDATE 会长时间持锁、撑大事务日志,给生产环境造成巨大压力。给出的替代方案是一个基于 WHILE 循环的分批更新模式,每次处理 TOP(1000) 行,配合双写机制,确保回填窗口期间新写入的行已经是正确数据。

这个细节很关键——回填不是"闷头跑一次",而是要和正在进行的双写并行,分批推进,把锁竞争控制在最小范围。

删列之前,先搞清楚谁在用旧列

最后一步 DROP 之前,文章提醒了一个容易被忽略的隐患:报告、ETL 作业、脚本和下游服务可能还在依赖旧列,而主应用根本不知道。作者建议用 Query Store、应用日志和 Extended Events 去发现这些"隐蔽消费者"。在不可逆的删除之前,把旧列保留为只读废弃状态,是一个安全缓冲。

这个建议很实在——你永远不知道哪个角落的报表还在 SELECT 那个列名。删了,就是事故;留着,最多是代码洁癖难受一点。

一句话总结

表结构变更不可避免,挑战不在于避免它,而在于不中断服务地完成它。扩展-收缩模式不是银弹,但它提供了一套可执行的纪律:先扩展、再迁移、后收缩。顺序对了,风险就控住了。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
武大博导出轨女教授,半月前武大就收到举报了:没有给任何回应,上热搜才发布声明

武大博导出轨女教授,半月前武大就收到举报了:没有给任何回应,上热搜才发布声明

江山挥笔
2026-09-04 14:59:25
两性心理学:房事上女人不怕肢体接触,怕的是男人这两个“骚操作”

两性心理学:房事上女人不怕肢体接触,怕的是男人这两个“骚操作”

心理观察局
2026-08-17 06:45:11
加拿大总理放狠话:若普京出席G20,当面要求其撤出乌克兰

加拿大总理放狠话:若普京出席G20,当面要求其撤出乌克兰

予晨故事
2026-09-04 10:35:35
我老公对我真的是生理性喜欢,我俩今年四十五,他每天晚上都要抱着我睡,不是那种敷衍的搭把手,是真抱

我老公对我真的是生理性喜欢,我俩今年四十五,他每天晚上都要抱着我睡,不是那种敷衍的搭把手,是真抱

徐侠客有话说
2026-08-13 11:03:24
能在巴萨当太子爷,却在曼联踢轮换都费劲,多面手被父亲耽误了

能在巴萨当太子爷,却在曼联踢轮换都费劲,多面手被父亲耽误了

足篮大世界
2026-09-04 23:46:40
俄无人机击中乌克兰可口可乐工厂,泽连斯基称此次袭击称为俄罗斯向美国发出的“明确信号”

俄无人机击中乌克兰可口可乐工厂,泽连斯基称此次袭击称为俄罗斯向美国发出的“明确信号”

扬子晚报
2026-09-04 18:51:53
燃气公司上门安检,根本不是查漏气!真正目的其实是这三件事

燃气公司上门安检,根本不是查漏气!真正目的其实是这三件事

阿离家居
2026-08-31 03:09:49
李伟信:从林彪儿子秘书到判刑15年,出狱后成为富商与建筑学大师

李伟信:从林彪儿子秘书到判刑15年,出狱后成为富商与建筑学大师

开箱历史
2026-09-04 08:50:11
每公里成本0.84元!特斯拉无人驾驶网约车Cybercab正式发布,将在北京上海多地展示

每公里成本0.84元!特斯拉无人驾驶网约车Cybercab正式发布,将在北京上海多地展示

澎湃新闻
2026-09-04 10:12:42
金正恩要破天荒访美?美专家大胆预测:特朗普或邀其参加G20峰会

金正恩要破天荒访美?美专家大胆预测:特朗普或邀其参加G20峰会

聚焦最新动态
2026-09-04 16:05:35
特鲁姆普:击败世界第一真过瘾!赵心童激发我的斗志,半决赛迎战琼斯

特鲁姆普:击败世界第一真过瘾!赵心童激发我的斗志,半决赛迎战琼斯

风吹一生v
2026-09-05 08:45:36
体坛联播|皇马爆冷不敌贝蒂斯,吴易昺美网0比3阿尔卡拉斯

体坛联播|皇马爆冷不敌贝蒂斯,吴易昺美网0比3阿尔卡拉斯

澎湃新闻
2026-09-05 09:16:13
烟草系统拉响警报:再这样下去,中国烟草真要出大问题

烟草系统拉响警报:再这样下去,中国烟草真要出大问题

阿振观点
2026-08-25 05:56:32
心酸!大二女生对着镜头哭得通红,一个月光吃饭就是1080,爸妈能不能再给点

心酸!大二女生对着镜头哭得通红,一个月光吃饭就是1080,爸妈能不能再给点

蝴蝶花雨话教育
2026-09-04 00:05:18
意外!谢晖在社媒给申花球迷带来喜讯,直接晒出跟这位强援合影

意外!谢晖在社媒给申花球迷带来喜讯,直接晒出跟这位强援合影

振刚说足球
2026-09-04 10:38:21
大快人心!坐牢20年不算完,美国法院:你的公民身份,我们收回了

大快人心!坐牢20年不算完,美国法院:你的公民身份,我们收回了

怪味历史连连看
2026-09-02 23:30:05
美国母子经历平行时空?一只2008年北京奥运杯,11年后竟离奇复裂,网友晒出相似经历...

美国母子经历平行时空?一只2008年北京奥运杯,11年后竟离奇复裂,网友晒出相似经历...

北美省钱快报
2026-09-02 04:42:09
真叫他杀回来了!西蒙斯正式签约!勇士你加把劲啊!

真叫他杀回来了!西蒙斯正式签约!勇士你加把劲啊!

柚子说球
2026-09-05 08:19:23
武汉街头正大量出现,20岁大学生一个月赚了7000元;有人半天花掉两三百元,“这钱花得值”

武汉街头正大量出现,20岁大学生一个月赚了7000元;有人半天花掉两三百元,“这钱花得值”

极目新闻
2026-09-01 13:04:24
不到24小时曝4大瓜!认孩子,除名,于东来力挺韩红后,央视下场

不到24小时曝4大瓜!认孩子,除名,于东来力挺韩红后,央视下场

妙知
2026-09-04 04:40:43
2026-09-05 09:51:00
我是一个养虾人
我是一个养虾人
有态度网友ytd
238文章数 79关注度
往期回顾 全部

科技要闻

华为何庭波,再次更新韬定律论文

头条要闻

深圳校服网上出圈本地家长"冷淡":好多年前就这样了

头条要闻

深圳校服网上出圈本地家长"冷淡":好多年前就这样了

体育要闻

小卡来去10首轮,快船7年彩礼一场空

娱乐要闻

古天乐公司欠债1.49亿

财经要闻

姚洋:刺激消费要守住两个“大西瓜”

汽车要闻

搭载天枢领航Ultra 长安启源Q06预售14.79万元起

态度原创

游戏
房产
亲子
艺术
本地

那啥,你知道DLSS 5可以用在绅士游戏上吧?"/> 主站 商城 论坛 自运营 登录 注册 简体中文 简体中文 English 那啥,你知道DLSS 5可以...

房产要闻

TOP10房企卖了350亿!海南楼市,最新榜单出炉!

亲子要闻

123冲啊,等一下不是这样的

艺术要闻

明朝灭亡那年,他画了一群女生玩古代飞花令

本地新闻

扒完小作文,富豪们私藏的度假胜地有多绝

无障碍浏览 进入关怀版