混合事务分析系统中的数据处理方法技术方案

技术编号:39396182 阅读:9 留言:0更新日期:2023-11-19 15:50
本申请实施例提供了一种混合事务分析系统中的数据处理方法

【技术实现步骤摘要】
混合事务分析系统中的数据处理方法、装置及电子设备


[0001]本申请涉及数据库
,具体而言,本申请涉及一种混合事务分析系统中的数据处理方法

装置及电子设备


技术介绍

[0002]在电子商务

广告推荐

数据分析等重要业务场景中,现代企业利用大数据来分析发现商业洞见,广告

电商等服务系统的大数据系统通常会聚合实时数据来不断分析挖掘新鲜的产品和用户数据,这些数据被广泛用于在线和离线场景中

在上述多个场景中需要同时支持实时的事务处理和复杂的分析处理,即涉及到处理混合了事务处理和分析处理的任务

[0003]现有的大数据解决方案通常使用不同系统的组合,来处理混合事务分析处理任务,会导致数据冗余和复杂的数据同步,进而导致事务处理时延大,分析处理吞吐量小


技术实现思路

[0004]本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
[0005]第一方面,本申请实施例提供了一种混合事务分析系统中的数据处理方法,包括:
[0006]在接收到查询请求时,确定查询请求对应的目标表组分片,目标表组分片包含第一内存表

多个行式分片文件

第二内存表和多个列式分片文件,第一内存表

第二内存表

各行式分片文件和各列式分片文件中存储有目标表组中的数据和各数据的写入日志序列号;
[0007]若查询请求为事务处理任务对应的点查询请求,则基于写入日志序列号和点查询请求中的目标键值

第一读取日志序列号,从第一内存表和各行式分片文件中获取对应的点查询结果;
[0008]若查询请求为分析处理任务对应的列扫描请求,则基于写入日志序列号和列扫描请求中的目标列值

第二读取日志序列号,从第二内存表和各列式分片文件中获取对应的列扫描结果

[0009]在本申请的一种可选实施例中,第一内存表和各行式分片文件中存储有各数据的删除标记,且第一内存表和各行式分片文件中的数据按键值连续存储,删除标记用于指示对应的数据是否被删除;
[0010]基于写入日志序列号和点查询请求中的目标键值

第一读取日志序列号,从第一内存表和各行式分片文件中获取对应的点查询结果,包括:
[0011]获取第一内存表中键值与目标键值相同且写入日志序列号不大于第一读取日志序列号的第一数据,并获取各行式分片文件中键值与目标键值相同且写入日志序列号不大于第一读取日志序列号的第二数据;
[0012]基于第一数据和第二数据的删除标记以及写入日志序列号,合并第一数据和第二
数据,得到点查询结果

[0013]在本申请的一种可选实施例中,各行式分片文件中包含有行式索引块和多个行式数据块,行式索引块中存储有各行式数据块中键值的索引,各行式数据块中的各数据按键值连续存储;
[0014]获取各行式分片文件中键值与目标键值相同且写入日志序列号不大于第一读取日志序列号的第二数据,包括:
[0015]从各行式分片文件中确定包含有目标键值的目标行式分片文件;
[0016]对于每一目标行式分片文件,基于目标行式分片文件中的索引块中的索引信息,确定包含目标键值的目标行式数据块,并从目标行式数据块中获取键值与目标键值相同且写入日志序列号不大于第一读取日志序列号的第三数据;
[0017]将从各目标行式分片文件中获取的第三数据作为第二数据

[0018]在本申请的一种可选实施例中,基于第一数据和第二数据的删除标记以及写入日志序列号,合并第一数据和第二数据,得到点查询结果,包括:
[0019]若第一数据和第二数据都为空,则确定点查询结果为空,若第一数据和第二数据不为空,则将第一数据和第二数据中最小的写入日志序列号对应的数据作为点查询结果;
[0020]获取第一数据和第二数据中最小的写入日志序列号对应的数据,若数据的删除标记指示数据被删除,则确定点查询结果为空,若数据的删除标记指示数据未被删除,则将第一数据和第二数据中最小的写入日志序列号对应的数据作为点查询结果

[0021]在本申请的一种可选实施例中,该方法还包括:
[0022]在获取到针对目标表组分片的事务处理任务对应的第一写入请求时,生成对应的写入日志序列号,并将写入日志序列号

第一写入请求对应的写入数据和删除标记存储至第一内存表中,其中,若第一写入请求为数据插入请求或数据更新请求,则对应的删除标记指示对应的数据未被删除,若第一写入请求为数据删除请求,则对应的删除标记指示对应的数据被删除

[0023]在本申请的一种可选实施例中,该方法还包括:
[0024]在第一内存表中的数据量达到第一预设值时,将第一内存表中的数据写入到行分级日志树的最低层存储结构中,行分级日志树包含由低到高的多层存储结构,每层存储结构中包含至少一个行式分片文件;
[0025]在行分级日志树的任一层存储结构中各行式分片文件的数据量达到第二预设值时,将该层存储结构中各行式分片文件合并后存储至更高一层的存储结构中

[0026]在本申请的一种可选实施例中,第二内存表和各列式分片文件中的数据按列值连续存储;
[0027]基于写入日志序列号和列扫描请求中的目标列值

第二读取日志序列号,从第二内存表和各列式分片文件中获取对应的列扫描结果,包括:
[0028]获取第二内存表中列值与目标列值相同且写入日志序列号不大于第二读取日志序列号的第四数据,并获取各列式分片文件中列值与目标列值相同且写入日志序列号不大于第二读取日志序列号的第五数据;
[0029]将第四数据和第五数据作为列扫描结果

[0030]在本申请的一种可选实施例中,各列式分片文件中包含有列式索引块和多个列式
数据块,列式索引块中存储有各列式数据块中列值的索引,各列式数据块中的各数据按列值连续存储;
[0031]获取各列式分片文件中列值与目标列值相同且写入日志序列号不大于第二读取日志序列号第五的数据,包括:
[0032]从各列式分片文件中确定包含有目标列值的目标列式分片文件,目标列式分片中的最大写入日志序列号不大于第二读取日志序列号,或者目标列式分片文件中有部分日志序列号不大于第二读取日志序列号,且目标列式分片文件中不包含被删除的数据;
[0033]对于每一目标列式分片文件,基于目标列式分片文件中的列式索引块中的索引信息,确定包含目标列值的目标列式数据块,并从目标列式数据块中获取列值与目标列值相同且写入日志序列号不大于第一读取日志序列号的第六数据;
[0034]将从各目标列式分片文件中获取的第六数据作为第五数据
。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种混合事务分析系统中的数据处理方法,其特征在于,包括:在接收到查询请求时,确定所述查询请求对应的目标表组分片,所述目标表组分片包含第一内存表

多个行式分片文件

第二内存表和多个列式分片文件,所述第一内存表

所述第二内存表

各行式分片文件和各列式分片文件中存储有目标表组中的数据和各数据的写入日志序列号;若所述查询请求为事务处理任务对应的点查询请求,则基于所述写入日志序列号和所述点查询请求中的目标键值

第一读取日志序列号,从所述第一内存表和各行式分片文件中获取对应的点查询结果;若所述查询请求为分析处理任务对应的列扫描请求,则基于所述写入日志序列号和所述列扫描请求中的目标列值

第二读取日志序列号,从所述第二内存表和各列式分片文件中获取对应的列扫描结果
。2.
根据权利要求1所述的方法,其特征在于,所述第一内存表和各行式分片文件中存储有各数据的删除标记,且所述第一内存表和各行式分片文件中的数据按键值连续存储,所述删除标记用于指示对应的数据是否被删除;所述基于所述写入日志序列号和所述点查询请求中的目标键值

第一读取日志序列号,从所述第一内存表和各行式分片文件中获取对应的点查询结果,包括:获取所述第一内存表中键值与所述目标键值相同且写入日志序列号不大于所述第一读取日志序列号的第一数据,并获取各行式分片文件中键值与所述目标键值相同且写入日志序列号不大于所述第一读取日志序列号的第二数据;基于所述第一数据和所述第二数据的删除标记以及写入日志序列号,合并所述第一数据和所述第二数据,得到所述点查询结果
。3.
根据权利要求2所述的方法,其特征在于,各行式分片文件中包含有行式索引块和多个行式数据块,所述行式索引块中存储有各行式数据块中键值的索引,各行式数据块中的各数据按键值连续存储;所述获取各行式分片文件中键值与所述目标键值相同且写入日志序列号不大于所述第一读取日志序列号的第二数据,包括:从各行式分片文件中确定包含有所述目标键值的目标行式分片文件;对于每一目标行式分片文件,基于所述目标行式分片文件中的索引块中的索引信息,确定包含所述目标键值的目标行式数据块,并从所述目标行式数据块中获取键值与所述目标键值相同且写入日志序列号不大于所述第一读取日志序列号的第三数据;将从各目标行式分片文件中获取的第三数据作为所述第二数据
。4.
根据权利要求2所述的方法,其特征在于,所述基于所述第一数据和所述第二数据的删除标记以及写入日志序列号,合并所述第一数据和所述第二数据,得到所述点查询结果,包括:若所述第一数据和所述第二数据都为空,则确定所述点查询结果为空,若所述第一数据和所述第二数据不为空,则将所述第一数据和所述第二数据中最小的写入日志序列号对应的数据作为所述点查询结果;获取所述第一数据和所述第二数据中最小的写入日志序列号对应的数据,若所述数据的删除标记指示所述数据被删除,则确定所述点查询结果为空,若所述数据的删除标记指
示所述数据未被删除,则将所述第一数据和所述第二数据中最小的写入日志序列号对应的数据作为所述点查询结果
。5.
根据权利要求2‑4中任一项所述的方法,其特征在于,所述方法还包括:在获取到针对所述目标表组分片的事务处理任务对应的第一写入请求时,生成对应的写入日志序列号,并将所述写入日志序列号

所述第一写入请求对应的写入数据和删除标记存储至所述第一内存表中,其中,若所述第一写入请求为数据插入请求或数据更新请求,则对应的删除标记指示对应的数据未被删除,若所述第一写入请求为数据删除请求,则对应的删除标记指示对应的数据被删除
。6.
根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述第一内存表中的数据量达到第一预设值时,将所述第一内存表中的数据写入到行分级日志树的最低层存储结构中,所述行分级日志树包含由低到高的多层存储结构,每层存储结构中包含至少一个行式分片文件;在所述行分级日志树的任一层存储结构中各行式分片文件的数据量达到第二预设值时,将该层存储结构中各行式分片文件合并后存储至更高一层的存储结构中
。7.
根据权利要求1所述的方法,其特征在于,所述第二内存表和各列式分片文件中的数据按列值连续存储;所述基于所述写入日志序列号和所述列扫描请求中的目标列值

第二读取日志序列号,从所述第二内存表和各列式分片文件中获取对应的列扫描结果,包括:获取所述第二内存表中列值与所述目标列值相同且写入日志序列号不大于所述第二读取日志序列号的第四数据,并获取各列式分片文件中列值与所述目标列值相同且写入日志序列号不大于所述第二读取日志序列号的第五数据;将所述第四数据和所述第五数据作为所述列扫描结果
。8.
根据权利要求7所述的方法,其特征在于,各列式分片文件中包含有列式索引块和多个列式数据块,所述列式索引块中存储有各列式数据块中列值的索引,各列式数据块中的各数据按列值连续存储;所述获取各列式分片文件中列值与所述目标列值相同且写入日志序列号不大于所述第二读取日志序列号第五的数据,包括:从各列式分片文件中确定包含有所述目标列值的目标列式分片文件,所述目标列式分片中的最大写入日志序列号不大于所述第二读取日志序列号,或者所述目标列式分片文件中有部分日志序列号不大于所述第二读取日志序列号,且所述目标列式分片文件中不包含被删除的数据;对于每一目标列式分片文件,基于所述目标列式分片文件中的列式索引块中的索引信息,确定包含所述目标列值的目标列式数据块,并从所述目标列式数据块中获取列值与所述目标列值相同且写入日志序列号不大于所述第一读取日志序列号的第六数据;将从各目标列式分片文件中获取的第六数据作为所述第五数据
。9.
根据权利要求8所述的方法,其特征在于,所述目标表组分片还包括数据删除指示位图,所述数据删除指示位图用于指示各列式分片文件中的各数据是否被删除;所述从各列式分片文件中确定包含有所述目标列...

【专利技术属性】
技术研发人员:石志林
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:

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

1