[发明专利]一种支持MySQL数据库在线DDL操作的方法在审

专利信息
申请号: 201910892954.0 申请日: 2019-09-20
公开(公告)号: CN110597823A 公开(公告)日: 2019-12-20
发明(设计)人: 刘小龙;唐军;周文龙 申请(专利权)人: 四川长虹电器股份有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/23;G06F16/28
代理公司: 51213 四川省成都市天策商标专利事务所 代理人: 郭会
地址: 621000 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 原表 空表 表结构 可用性 业务系统 便利性 触发器 读写 拷贝 新表 运维 阻塞 数据库
【说明书】:

发明公开了一种支持MySQL数据库在线DDL操作的方法,包括:A.建立一个与原表相同表结构的新的空表;B.在新建的空表上执行DDL操作;C.在原表上添加基于DML操作的触发器;D.拷贝原表的数据到新建的空表中;E.将原表改名,并将新表改成原表名。本发明的方法可实现在对表结构进行DDL操作时,避免了对操作表的读写阻塞,由此对数据库运维操作提供了便利性,也提高了业务系统的可用性。

技术领域

本发明涉及数据库技术领域,特别涉及一种支持MySQL数据库在线DDL操作的方法。

背景技术

在MySQL数据库的日常运维工作中,经常需要用到DDL(DataDefinitionLanguage)操作,比如对表添加索引,删除列,修改字段类型等。在早期的MySQL版本中进行DDL操作,首先需要创建一张和原始表结构一样的临时表,然后将基表数据全部拷贝到临时表,最后再重命名表。但是整个创建过程中基表是不可写的,会阻塞所有的DML操作,并且会消耗一倍的存储空间。

MySQL5.6版本之后开始支持OnlineDDL操作,在执行创建或者删除操作的同时,将DML操作日志写入到缓存中,待完成后再将缓存操作应用到表上,以此达到数据的一致性。

原生Online方式支持了大部分的DDL在线操作,但在涉及到修改字段数据类型、添加全文索引时等操作时,仍然采用了之前的创建临时表并复制数据的办法。这种代价昂贵的操作仅支持并发读,阻塞了所有的写操作,会影响到业务系统的性能和可用性。

发明内容

本发明的目的是克服上述背景技术中不足,提供一种支持MySQL数据库在线DDL操作的方法,可实现在所有的DDL操作过程中不会造成读写阻塞,由此避免了DDL操作过程中系统的不可写状态。

为了达到上述的技术效果,本发明采取以下技术方案:

一种支持MySQL数据库在线DDL操作的方法,包括以下步骤:

A.检查并设置数据库环境,创建基表,并通过python程序不断往基表里做添加、修改和删除的操作;

B.创建一个与基表相同表结构的临时表并在临时表上执行DDL操作;

如果在基表上直接做DDL操作,一方面基表正在为业务提供服务,直接操作势必会影响到现有的业务;另一方面基表在使用过程中已经累计了一定的数据量,在操作过程中会比较耗时;因此本方案中采取重新建立一个与基表相同表结构的新的临时表,在基于临时表的基础上做DDL操作;

同时,新建的临时表不对外提供业务因此没有任何数据,所以在此基础上执行DDL操作不会对现有的业务有任何影响,并且速度非常快,在新建的临时表上完成计划的DDL操作之后,即可计划下一步的在基表和临时表之间的数据迁移;

C.在所述基表上添加基于DML操作的触发器,所述触发器的内容逻辑只保证在基表上进行的任何DML操作且在事务提交成功时,也必须同时保证在临时表上做同样的操作;则通过触发器可实现在基表所有新进来的DML操作都同步到临时表中;

D.将基表内的数据拷贝迁移到临时表中;上一步的触发器保证了新来的DML操作会同步数据到临时表中,这一步即是把基表中触发器之前的基础数据全部拷贝到临时表中;在拷贝的过程中在基表上进行的DML操作同样会同步到临时表的数据中,由这两步操作来保证基表和临时表之间的数据一致性;

E.将基表重命名,再将临时表重命名为原基表名称并将基表及基表上的触发器删除;先把基表重命名,然后把临时表改成基表名;临时表是已经完成了DDL操作的新的表结构,并且数据和基表保持一致;重命名完成之后,临时表就作为新表用新的表结构对外提供服务了;在最后删除基表和基表上的触发器,清理线上环境。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910892954.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top