一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结构化数据多版本存储方法与流程

2022-12-19 20:51:37 来源:中国专利 TAG:


1.本发明涉及大数据存储技术领域,具体是一种结构化数据多版本存储方法。


背景技术:

2.目前主流数据库都支持多版本并发控制技术,但是他们实现多版本的方式却不尽相同。由于大部分主流数据库都是商业数据库,并没有详细公布它们的内部实现细节,所以根据少量的公开文档,我们只能推断出他们实现多版本控制技术的大致方式。oracle数据库实现的是页面级的多版本,在数据库中同时存在多个版本的页面数据,事务根据需要取得或者构造自己需要的页面版本;而sqlserver,postgresql等数据库实现的是行级多版本,每个数据行数都记录着版本信息,事务根据可见性判断来取得自己能够读取到的数据行。相同的是,他们都用系统更改号来表示数据的版本信息,系统更改号是一个严格递增的序列,每个更新事务都会取得一个唯一的系统更改号,事务就是通过记录在数据上的系统更改号来判别自己是否可以访问这个数据,通过系统更改号数据库实现了并发事务的访问控制。通过多版本并发控制技术,这些数据库都能够支持高并发的访问,极大地提供了数据库系统的性能。
3.原本面向互联网业务的湖仓一体架构在工业大数据场景落地时,数据加工模型未经工业场景优化导致性能存在优化空间、加工组件过于固定导致灵活扩展成本高等问题。
4.故,本发明提出一种结构化数据多版本存储方法。


技术实现要素:

5.为实现上述目的,本发明提供如下技术方案:一种结构化数据多版本存储方法,其支撑系统包括:高速数据交换与调度系统、大数据查询引擎、分布式文件系统、大数据元数据管理工具和大数据计算引擎;
6.高速数据交换与调度系统,该调度系统用于数据中转;
7.大数据查询引擎,利用数据湖查询引擎插件查询数据和调用接口;
8.分布式文件系统,将数据湖存储格式进行分类,该格式分为静态数据、变化数据两大部分;
9.大数据元数据管理工具,利用数据湖元数据管理插件组织数据资产和治理数据;
10.大数据计算引擎,大规模数据的处理,并进行计算和智能分析。
11.多版本数据湖组件,用来和上述支撑组件联动,在存储、计算、元数据管理、分析等场景下实现多版本数据存储。
12.作为本发明优先的技术方案,所述分布式文件系统中采用lsm-tree数据压实算法,为不同的业务场景搭配不同的数据存储与读取模式,数据湖存储格式使用parquet-schema-based列式存储格式作为基准的静态数据存储,使用commit的元数据记录格式,记录该数据集每一个变化时间点做的数据变更,使用二进制格式delta描述两次commit之间的中间数据变化。
13.作为本发明优先的技术方案,使用一个文件夹记录数据每个版本的记录情况,文件夹中包含一个commit记录文件。记录每次commit的时间,commit过后全部数据所在的文件。
14.作为本发明优先的技术方案,大数据计算引擎采用可见性判断算法,版本构造算法以及修改存储区回收算法使用可见性判断算法,确定一个数据包或者修改记录对于某个事务是否可见,一个事务可以看到系统更改号比自己的系统更改号小的数据包或者修改记录,以及事务自己产生的数据包或者修改记录;使用版本构造算法,根据需要构造出数据的当前版本或者某个历史版本;
15.取得要构造版本的事务的系统更改号,遍历修改存储区中的修改记录链表并通过可见性判断算法取得该系统更改号能够访问的修改记录,把这些修改记录和原始数据包结合取得该事务可见的数据版本;使用修改存储区回收算法,回收过期的修改存储区数据,以确保修改存储区的空间不会过大,当系统中所有活跃事务的系统更改号都大于某条修改记录的系统更改号时,那么这条修改记录就被认为是过期的,修改存储区回收算法通过扫描修改存储区获得所有过期的修改记录,并把修改记录的修改内容反映到数据包中,然后删除过期的修改记录。
16.作为本发明优选的技术方案,大数据管理工具在每次数据更新都将全量数据写入新文件作为新版本,并引入merge机制归并老版本数据文件,使得在使用最新数据版本的场景中,减少小文件的个数,增大读取的并发程度,提升文件读取性能。
17.与现有技术相比,本发明的有益效果如下:
18.该发明在湖仓一体架构涉及的大数据组件中,抽象一套大数据存、算、查、管插件体系。在插件实现中使用lsm-tree数据压实算法,为不同的业务场景搭配不同的数据存储与读取模式,达到该业务场景下的功能、性能、可靠性的最优配置。初步测算在不同场景下该技术相比于标准湖仓一体技术能带来3~10倍的性能提升。
附图说明
19.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
20.图1为本发明一种结构化数据多版本存储方法程序图;
具体实施方式
21.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
22.请参阅图1,一种结构化数据多版本存储方法,其存储方法包括:高速数据交换与调度系统、大数据查询引擎、分布式文件系统、大数据元数据管理工具和大数据计算引擎;
23.高速数据交换与调度系统,该调度系统用于数据中转;
24.大数据查询引擎,利用数据湖查询引擎插件查询数据和调用接口;
25.分布式文件系统,将数据湖存储格式进行分类,该格式分为静态数据、元数据、变化数据三大部分;
26.大数据元数据管理工具,利用数据湖元数据管理插件组织数据资产和治理数据;
27.大数据计算引擎,大规模数据的处理,并进行计算和智能分析。
28.多版本数据湖组件,用来和上述支撑组件联动,在存储、计算、元数据管理、分析等场景下实现多版本数据存储。
29.作为本发明优先的技术方案,所述分布式文件系统中采用lsm-tree数据压实算法,为不同的业务场景搭配不同的数据存储与读取模式,数据湖存储格式使用parquet-schema-based列式存储格式作为基准的静态数据存储,使用commit的元数据记录格式,记录该数据集每一个变化时间点做的数据变更,使用二进制格式delta描述两次commit之间的中间数据变化。
30.作为本发明优先的技术方案,每次commit时,若数据集中的某些文件并未发生数据变动,则文件不做修改,若文件发生了数据变动,则将该文件数据变动应用之后另存为新文件。老版本commit使用老版本,新版本commit使用新版本。
31.作为本发明优先的技术方案,大数据计算引擎采用可见性判断算法,版本构造算法以及修改存储区回收算法使用可见性判断算法,确定一个数据包或者修改记录对于某个事务是否可见,一个事务可以看到系统更改号比自己的系统更改号小的数据包或者修改记录,以及事务自己产生的数据包或者修改记录;使用版本构造算法,根据需要构造出数据的当前版本或者某个历史版本;
32.取得要构造版本的事务的系统更改号,遍历修改存储区中的修改记录链表并通过可见性判断算法取得该系统更改号能够访问的修改记录,把这些修改记录和原始数据包结合取得该事务可见的数据版本;使用修改存储区回收算法,回收过期的修改存储区数据,以确保修改存储区的空间不会过大,当系统中所有活跃事务的系统更改号都大于某条修改记录的系统更改号时,那么这条修改记录就被认为是过期的,修改存储区回收算法通过扫描修改存储区获得所有过期的修改记录,并把修改记录的修改内容反映到数据包中,然后删除过期的修改记录。
33.作为本发明优选的技术方案,大数据管理工具在每次数据更新都将全量数据写入新文件作为新版本,并引入merge机制归并老版本数据文件,使得在使用最新数据版本的场景中,减少小文件的个数,增大读取的并发程度,提升文件读取性能。
34.本发明在湖仓一体架构涉及的大数据组件中,抽象一套大数据存、算、查、管插件体系。在插件实现中使用lsm-tree数据压实算法,为不同的业务场景搭配不同的数据存储与读取模式,达到该业务场景下的功能、性能、可靠性的最优配置。初步测算在不同场景下该技术相比于标准湖仓一体技术能带来3~10倍的性能提升。
35.以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
36.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当合,组形成本领域技术人员
可以理解的其他实施方式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献