【摘要】本文主要介绍AntDB数据库DDL数据闪回的相关逻辑和内部实现。帮助读者们更加深入的理解AntDB数据库DDL数据闪回功能。
1. 背景
相信读者了解到上篇所介绍的《亚信安慧AntDB数据库DDL数据闪回的基础介绍》后,一定会对DDL数据闪回的内部实现感到好奇,本篇将会为读者介绍DDL数据闪回的相关逻辑和内部实现。
2. DDL数据闪回的大体流程
用户对表执行drop table操作时,并不是真正的删除,而是把该表进行重命名,在表名后面添加时间戳,然后移动到回收站(名为adb_trashcan的schema)进行保存;当用户对表执行truncate table操作时,把表重命名,移动到回收站进行保存,然后会在原schema中创建一个与原表具有相同结构,和名字的空表,如下图所示:

图1 :集中式DDL进入回收站流程图
闪回时,用户执行闪回操作之后,在原schema中会判断是否存在同名表,如果同名表不存在,则直接重命名,把表从回收站移动到原schema;如果同名表存在但是表结构相同且表中无数据,则直接删除同名表,然后重命名,把表从回收站移动到原schema;如果同名表存在且表结构不同或表中有数据,用户可以选择强制闪回,则会删除同名表,然后重命名,把表从回收站移动到原schema,否则报错退出,如下图所示:

图2 :集中式DDL闪回流程图
关于亚信安慧AntDB数据库
AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。
最后修改时间:2023-12-05 10:10:15
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




