System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向HTAP数据库隔离级别的评测负载生成方法、系统及应用技术方案_技高网

面向HTAP数据库隔离级别的评测负载生成方法、系统及应用技术方案

技术编号:41200308 阅读:4 留言:0更新日期:2024-05-07 22:27
本发明专利技术公开了一种面向HTAP数据库隔离级别的评测负载生成方法,包括如下步骤:步骤一:概括HTAP数据库隔离级别的实现阶段,并将HTAP数据库中数据的流转构建为生产者‑消费者模型,确定OLTP生产的数据版本和OLAP消费的数据版本之间的关系;步骤二:总结HTAP工作负载中影响HTAP数据库隔离级别实现的关键特征;步骤三:基于步骤二中获得的HTAP工作负载中影响HTAP数据库隔离级别实现的关键特征,给出对于测试HTAP数据库隔离级别来说有效工作负载的定义,并利用产销二维图将有效工作负载的生成问题归纳为两个子问题;步骤四:给出满足有效工作负载定义的工作负载生成解决方案,生成评测负载。本发明专利技术还公开了实现上述负载生成方法的有效工作负载生成系统及应用。

【技术实现步骤摘要】

本专利技术属于负载生成,涉及一种面向htap数据库隔离级别的评测负载生成方法、系统及应用。


技术介绍

1、数据库技术是现代计算机学科的重要分支和研究方向,几乎所有的信息系统都需要使用数据库系统来组织、存储、操纵和管理业务数据。在数据库系统诞生之前,数据管理主要是通过表格、卡片等方式进行人工管理,效率低下,极易出错。20世纪50年代,随着计算机的诞生和成熟,计算机开始运用于数据管理。最早的数据管理技术基于文件系统,但是难以应对数据增长的挑战,也无法满足多用户共享数据和快速检索数据的需求。20世纪60年代,硬件已有大容量磁盘,硬件价格下降,数据库系统应运而生。数据库系统所使用的典型数据模型主要有层次数据模型、网状数据模型和关系数据模型。其中,关系数据模型以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善,直到今天,关系数据模型仍然在数据库领域占据着最重要的地位,应用范围非常广泛。事务处理是数据库系统最重要的功能之一,是贯穿数据库系统发展史的重要研究课题。为了在并行执行和意外故障的情况下保证数据库的一致性和完整性,数据库系统要求每一个事务应该满足acid特性,即原子性、一致性、隔离性和持久性。其中,隔离性可以防止多个事务并行执行时由于交叉执行而导致数据的不一致,是支持关键应用的重要功能。

2、在现代企业中,许多应用程序既包含在线事务处理(oltp),也包含在线分析处理(olap),程序员通常将这些工作负载部署在单独的数据库系统上。然而,单独部署会增加数据库系统之间的数据传输延迟,并且需要额外的数据管理工作,这会损失olap工作负载读取oltp工作负载产生数据的新鲜度。为了解决这些问题,人们需要一个能够同时服务oltp和olap工作负载的统一数据库系统,这一类数据库系统被称为混合事务和分析处理(htap)数据库系统,这已成为一个活跃的学术研究领域,并被广泛实现在许多工业界的数据库产品中。

3、例如,tidb[3]利用raft共识协议中的learner节点从oltp工作负载中复制数据服务于olap工作负载的分析查询业务。另外,为了尽可能最大化两类负载的性能,tidb将oltp工作负载执行在行式存储引擎上,将olap工作负载执行在列式存储引擎上。因此,针对htap数据库系统的有效测试负载生成是一个非常重要的任务。现有许多相关工作[1-2],[3-10]致力于生成分析查询测试数据库查询执行的正确性。然而,这些方法不适合用来测试htap数据库在处理实时分析查询的正确性。原因在于这些工作只能生成小数量、静态的数据库,相比之下,在真实的htap工作负载中,数据库往往是大数据量,并且数据状态是随着oltp工作负载的执行而动态变化的。


技术实现思路

1、本专利技术中,设计一个面向htap数据库系统的隔离级别测试工具,构造对于htap数据库系统的隔离级别来说测试有效的htap工作负载,本专利技术的目的可概括为:生成有效的htap数据库测试负载对htap数据库的功能和性能进行更充分的测试。关键问题主要有:如何定义并生成对于htap数据库隔离级别来说有效的测试负载。

2、本专利技术提出一种面向htap数据库隔离级别的评测负载生成方法,流程图如图1所示,所述方法包括如下步骤:

3、步骤一:概括htap数据库隔离级别的实现为四个阶段,并将htap数据库中数据的流转构建为生产者-消费者模型,确定oltp生产的数据版本和olap消费的数据版本之间的关系。

4、步骤二:总结htap工作负载中影响htap数据库隔离级别实现的关键特征,这些关键特征直接影响生产者-消费者模型的内部状态。

5、步骤三:无效的测试负载无法测试到指定的代码逻辑,冗余的测试负载会对相同的代码逻辑进行重复地测试。基于htap工作负载中的关键特征,给出对于测试htap数据库隔离级别来说有效工作负载的定义,并利用产销二维图将有效工作负载的生成问题归纳为两个子问题。

6、步骤四:给出生成有效工作负载的解决方案,满足有效工作负载的定义,生成最终评测负载。

7、步骤一中,所述四个阶段包括版本定序、版本传输、版本查找和版本清理;所述版本定序对oltp工作负载产生的版本按照版本的产生顺序进行排序;所述版本传输负责将oltp工作负载产生的数据传输给olap工作负载;所述版本查找实现olap工作负载一致地读取数据版本;所述版本清理分别从oltp和olap工作负载两侧及时释放过期版本占用的内存空间。

8、所述生产者-消费者模型,具体来说,是指在htap数据库中,oltp工作负载充当生产者的角色,负责处理在线事务,包括插入、更新、删除等数据操作;olap工作负载充当消费者的角色,负责执行复杂的查询和分析操作,通常需要访问大量数据以满足分析需求。当oltp工作负载中的一个事务提交时会产生若干个数据版本,htap数据库系统将该事务产生的数据版本持久化到数据库中;当olap工作负载中的一个查询发起时会访问若干个数据版本,htap数据库系统以该查询的开始时间点作为一致性快照时间点去访问数据库中最新的数据版本,用于确保olap查询不会看到oltp工作负载中尚未提交的事务对数据的影响,从而保证了查询的可靠性和一致性。

9、所述oltp生产的数据版本和olap消费的数据版本之间的关系包括两者之间的联系和交互方式;具体包括:

10、1)数据版本关联:确定哪些数据版本与特定事务或操作相关联;通常,每个oltp事务提交会产生一个或多个数据版本,这些版本包含了事务执行前后的数据状态;olap查询需要访问这些数据版本以确保查询的一致性和准确性;

11、2)一致性快照时间点:确定olap查询的起始时间点,也就是一致性快照时间点;这个时间点用于指示olap查询应该访问数据库中的哪个数据版本,以确保查询的一致性;一致性快照时间点通常是olap查询开始执行的时间;

12、3)数据版本管理:确保oltp和olap之间的数据版本管理是有效和高效的;这包括数据版本的创建、存储、访问和清理等方面;数据版本管理需要考虑系统的性能、容量和一致性要求;

13、4)隔离级别:定义olap查询在访问数据版本时应该具有的隔离级别;隔离级别决定了在olap查询执行期间,是否允许访问oltp工作负载中正在进行的事务或未提交的更改;不同的隔离级别可以平衡查询性能和一致性要求。

14、步骤二中,所述关键特征包括生产和消费数据版本的数量、生产和消费数据版本的速率、生产和消费数据版本在空间上的重叠程度、生产和消费数据版本在时间上的临近程度。

15、第一个关键特征(生产和消费数据版本的数量)决定生产者-消费者模型中定序、查找和清理的版本数量,并且呈现正相关的关系;生产者(oltp)生成的数据版本数量以及消费者(olap)访问的数据版本数量与生产者-消费者模型中的版本定序、查找和清理的版本数量之间呈正相关关系;如果生产者生成的数据版本数量增加,那么在模型中需要更多的版本本文档来自技高网...

【技术保护点】

1.一种面向HTAP数据库隔离级别的评测负载生成方法,其特征在于,所述负载生成方法包括如下步骤:

2.如权利要求1所述的负载生成方法,其特征在于,步骤一中,所述HTAP数据库隔离级别的实现包括四个阶段,所述四个阶段包括版本定序、版本传输、版本查找和版本清理;所述版本定序对OLTP工作负载产生的版本按照版本的产生顺序进行排序;所述版本传输负责将OLTP工作负载产生的数据传输给OLAP工作负载;所述版本查找实现OLAP工作负载一致地读取数据版本;所述版本清理分别从OLTP和OLAP工作负载两侧及时释放过期版本占用的内存空间;和/或,

3.如权利要求1所述的负载生成方法,其特征在于,步骤二中,所述关键特征包括生产和消费数据版本的数量、生产和消费数据版本的速率、生产和消费数据版本在空间上的重叠程度、生产和消费数据版本在时间上的临近程度;所述生产和消费数据版本的数量特征决定生产者-消费者模型中定序、查找和清理的版本数量,并且呈现正相关的关系;所述生产和消费数据版本的速率特征决定生产者-消费者模型进行版本定序的频繁程度、查找数据版本到客户端的频繁程度,以及垃圾版本清理的频繁程度,并且呈现正相关的关系;所述生产和消费数据版本在空间上的重叠程度特征直接影响OLTP和OLAP工作负载之间在生产者-消费者模型中数据版本的传输量,并且呈现正相关的关系;所述生产和消费数据版本在时间上的临近程度特征意味着生产者-消费者模型中版本传输的频繁程度,并且呈现正相关的关系。

4.如权利要求1所述的负载生成方法,其特征在于,所述有效工作负载是指包含作为配置项的四个关键特征的HTAP工作负载;通过调节配置项的方式去测试HTAP数据库系统隔离级别实现中指定的代码逻辑,避免生成无效的测试负载;和/或,通过变化配置项生成与测试HTAP数据库系统隔离级别不同的测试负载,避免冗余测试的问题;和/或,

5.如权利要求1所述的负载生成方法,其特征在于,步骤四中,所述满足有效工作负载定义的工作负载生成解决方案包括基于时间窗口的事务提交方法和基于元数据表的查询生成方法,分别用以解决在某个时间戳上持久化若干个数据版本和在某个时间戳上读取若干个数据版本的问题。

6.如权利要求5所述的负载生成方法,其特征在于,所述基于时间窗口的事务提交方法进一步包括以下子步骤:

7.如权利要求5所述的负载生成方法,其特征在于,所述基于元数据表的查询生成方法用于构造分析查询中访问指定数据的过滤条件,进一步包括以下子步骤:

8.如权利要求1所述的负载生成方法,其特征在于,所述负载生成方法通过调节四个配置项的方式测试指定的代码逻辑,体现HTAP数据库设计架构的权衡点;和/或,

9.一种实现如权利要求1-8之任一项所述的负载生成方法的有效工作负载生成系统,其特征在于,所述负载生成系统包括:数据库模式生成器、数据生成器、事务生成器、事务提交延迟统计器、事务提交器、元数据表生成器和查询生成器;

10.一种如权利要求1-8之任一项所述的负载生成方法,或如权利要求9所述的负载生成系统在负载生成、数据库设计验证中的应用。

...

【技术特征摘要】

1.一种面向htap数据库隔离级别的评测负载生成方法,其特征在于,所述负载生成方法包括如下步骤:

2.如权利要求1所述的负载生成方法,其特征在于,步骤一中,所述htap数据库隔离级别的实现包括四个阶段,所述四个阶段包括版本定序、版本传输、版本查找和版本清理;所述版本定序对oltp工作负载产生的版本按照版本的产生顺序进行排序;所述版本传输负责将oltp工作负载产生的数据传输给olap工作负载;所述版本查找实现olap工作负载一致地读取数据版本;所述版本清理分别从oltp和olap工作负载两侧及时释放过期版本占用的内存空间;和/或,

3.如权利要求1所述的负载生成方法,其特征在于,步骤二中,所述关键特征包括生产和消费数据版本的数量、生产和消费数据版本的速率、生产和消费数据版本在空间上的重叠程度、生产和消费数据版本在时间上的临近程度;所述生产和消费数据版本的数量特征决定生产者-消费者模型中定序、查找和清理的版本数量,并且呈现正相关的关系;所述生产和消费数据版本的速率特征决定生产者-消费者模型进行版本定序的频繁程度、查找数据版本到客户端的频繁程度,以及垃圾版本清理的频繁程度,并且呈现正相关的关系;所述生产和消费数据版本在空间上的重叠程度特征直接影响oltp和olap工作负载之间在生产者-消费者模型中数据版本的传输量,并且呈现正相关的关系;所述生产和消费数据版本在时间上的临近程度特征意味着生产者-消费者模型中版本传输的频繁程度,并且呈现正相关的关系。

4.如权利要求1所述的负载生成方法,其特征...

【专利技术属性】
技术研发人员:李可强张蓉周傲英周烜钱卫宁
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1