SQL自动化上线之alter语句(二)

  • 时间:2018-12-29 23:13 作者:杨建荣的学习笔记 来源:杨建荣的学习笔记 阅读:801
  • 扫一扫,手机访问
摘要:这是学习笔记的第 1844篇文章对于DDL的自动化上线,其实是一件可行的事情,尤其是对于create语句来说。 在完成了第一波的自动化上线工作之后,我们采用了异步任务的方式来对接多条SQL的执行,把执行结果持久化在表里,可以后续进行结果稽核和分析。整体来说,效率提升比较显著,最近的一个需求解决,从任

这是学习笔记的第 1844篇文章

对于DDL的自动化上线,其实是一件可行的事情,尤其是对于create语句来说。

在完成了第一波的自动化上线工作之后,我们采用了异步任务的方式来对接多条SQL的执行,把执行结果持久化在表里,可以后续进行结果稽核和分析。整体来说,效率提升比较显著,最近的一个需求解决,从任务发起到任务结束,整个过程持续时间13秒。

所以对于alter的自动化上线排上了日程 ,其实alter语句的自动化上线步骤远比create语句要复杂几个数量级。所以在这方面的思考需要根据业务现状进行梳理。


SQL自动化上线之alter语句(二)


所以在制定变更策略之前,我们需要考虑几个维度,SQL维度,数据维度和变更维度,通过这几个维度能够梳理出变更的策略。

首先是SQL维度,我们常见的alter操作的一个基本梳理如下:

alter-add-col

alter-modify-col

alter-change-col

alter-drop-col

alter-add-index

alter-drop-index

alter-modify-index

alter-rename-table

alter-rename-col

这些是我们的工作中比较常见的变更SQL,对于alter的复杂之处就在于它还包含有少量列的变更(添加,修改,删除)

首先第一个就是SQL审核,alter的审核参考点比较少,这一块已有的工具的支持都比较薄弱,需要持续改进和优化。

对于数据维度,目前暂定了三个维度:

小表

小于10万数据

中型表

数据量在10-100万

大型表

数据量在100万以上

对于变更维度,目前暂定了以下的几类操作方式:

备份表结构:需要考虑备份表结构,这种可以考虑做成在线或者者离线文件的形式。

备份表数据:对于数据的备份是应该考虑的,尤其是对于drop类的操作。

人工介入变更:有些操作我们还是需要人工来介入,需要协调时间和影响范围。

自动变更:自动变更是通用的需求,可以满足大部分的业务场景。

工具介入变更:有些变更涉及的表比较大的时候,可以考虑使用pt工具来完成自动变更。

从结构化思维来梳理,会梳理出少量针对性的变更方案。


SQL自动化上线之alter语句(二)


以上可以作为大家在实际工作中的参考。

相关链接:

SQL自动化上线之alter语句

SQL自动化上线的初步设计

SQL自动化上线的初步实现

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Fortigate飞塔防火墙如何开启DNS转发/DNS代理(2025-10-14 23:58)
【系统环境|】有了它,再也不用担心电脑弹窗广告和病毒啦!(2025-10-14 23:57)
【系统环境|】如何关闭恼人的电脑弹窗广告?2招搞定(2025-10-14 23:55)
【系统环境|】实用软件推荐:电脑广告弹窗多?用他,都给你屏蔽掉!(2025-10-14 23:55)
【系统环境|】Nginx篇01——基本安装配置和静态页面设置(2025-10-14 23:54)
【系统环境|】Linux端口开放,查看,删除,防火墙(2025-10-14 23:53)
【系统环境|】安全HTTP头部配置: 基于CSP与HSTS的Web安全策略(2025-10-14 23:52)
【系统环境|】老K:做私域过1000万的赛道全部都聚焦在女性身上!(2025-10-14 23:51)
【系统环境|】JavaScript跨域问题: 如何解决跨域访问和资源共享的安全策略(2025-10-14 23:51)
【系统环境|】家庭七级财务防火墙(2025-10-14 23:50)
手机二维码手机访问领取大礼包
返回顶部