跨数据库和开放格式表协调事务的制作方法

摘要: 本公开涉及数据库管理系统,具体地涉及协调跨关系数据库和对象存储装置上的开放格式表的事务,以确保原子性和一致性。背景技术:1、近年来,开放表格式(诸如delta和...
跨数据库和开放格式表协调事务的制作方法

本公开涉及数据库管理系统,具体地涉及协调跨关系数据库和对象存储装置上的开放格式表的事务,以确保原子性和一致性。

背景技术:

1、近年来,开放表格式(诸如delta和iceberg)与关系数据库的集成对于管理湖仓一体(lakehouse)架构中的大型数据集变得越来越重要。湖仓一体架构是一种现代数据管理方法,它融合了数据湖(data lake)和数据仓库(data warehouse)的优势,为分析和事务工作负载两者提供了统一的平台。它通过提供单个存储层来解决传统数据湖和数据仓库的限制,该单个存储层管理所有类型的数据,包括结构化、半结构化和非结构化数据,通常使用可扩展且成本有效的对象存储系统。湖仓一体支持原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)(acid)事务,确保跨操作的数据完整性和一致性,这允许可靠的数据更新以及多个用户或应用的并发访问。

技术实现思路

1、本公开的实施例涉及一种系统。该系统包括:至少一个硬件处理器;非暂时性计算机可读介质,存储指令,该指令在由至少一个硬件处理器执行时使至少一个硬件处理器执行操作,该操作包括:在数据库管理系统处接收数据库事务;将数据库事务拆分成多个独立的子事务,多个独立的子事务包括对应于数据库管理系统中的第一对象的第一子事务和对应于与数据库管理系统分离并且不同的远程开放表格式存储系统中的第二对象的第二子事务;将第二子事务记录在数据库管理系统的元存储中;将第二子事务发送到远程开放表格式存储系统用于第二对象的执行和更新;通过执行第一子事务更新数据库管理系统中的第一对象;基于确定第一对象的更新或第二对象的更新已经失败,执行多个补偿事务以将第一对象和第二对象恢复到更早的状态,用于恢复第二对象的补偿事务基于元存储中的数据;以及清除元存储中的所有数据。

1.一种用于数据库管理的系统,包括:

2.根据权利要求1所述的系统,其中,所述多个独立的子事务还包括第三子事务,所述第三子事务对应于与数据库管理系统和远程开放表格式存储系统分离并且不同的第二远程开放表格式存储系统中的对象。

3.根据权利要求1所述的系统,其中,数据库管理系统是内存数据库管理系统。

4.根据权利要求1所述的系统,其中,第一子事务和第二子事务都是数据定义语言ddl事务。

5.根据权利要求1所述的系统,其中,第一子事务在被执行时用于更新数据库管理系统中的虚拟表。

6.根据权利要求1所述的系统,其中,所述操作还包括:

7.根据权利要求1所述的系统,其中,第一子事务和第二子事务是异步执行的。

8.一种用于数据库管理的方法,包括:

9.根据权利要求8所述的方法,其中,所述多个独立的子事务还包括第三子事务,所述第三子事务对应于与数据库管理系统和远程开放表格式存储系统分离并且不同的第二远程开放表格式存储系统中的对象。

10.根据权利要求8所述的方法,其中,数据库管理系统是内存数据库管理系统。

11.根据权利要求8所述的方法,其中,第一子事务和第二子事务都是数据定义语言ddl事务。

12.根据权利要求8所述的方法,其中,第一子事务在被执行时用于更新数据库管理系统中的虚拟表。

13.根据权利要求8所述的方法,还包括:

14.根据权利要求8所述的方法,其中,第一子事务和第二子事务是异步执行的。

15.一种非暂时性机器可读介质,存储指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:

16.根据权利要求15所述的非暂时性机器可读介质,其中,所述多个独立的子事务还包括第三子事务,所述第三子事务对应于与数据库管理系统和远程开放表格式存储系统分离并且不同的第二远程开放表格式存储系统中的对象。

17.根据权利要求15所述的非暂时性机器可读介质,其中,数据库管理系统是内存数据库管理系统。

18.根据权利要求15所述的非暂时性机器可读介质,其中,第一子事务和第二子事务都是数据定义语言ddl事务。

19.根据权利要求15所述的非暂时性机器可读介质,其中,第一子事务在被执行时用于更新数据库管理系统中的虚拟表。

20.根据权利要求15所述的非暂时性机器可读介质,其中,所述操作还包括: