用于大元数据管理的列技术制造技术

技术编号:38877571 阅读:9 留言:0更新日期:2023-09-22 14:10
一种使用列技术来管理大元数据的方法(700)包括接收从数据表(158)请求与查询参数(21)相匹配的数据块(152)的查询请求(20)。数据表与系统表(154)相关联,每个系统表包括对应数据块的元数据。该方法包括基于查询请求生成系统查询(172)以返回与匹配查询参数的数据块相对应的行的子集(210)。该方法还包括基于查询请求和系统查询生成最终查询(186),以从数据表中返回对应于行的子集的数据块的子集。该方法还包括确定数据块的子集中的任何数据块是否与查询参数匹配,并且当一个或多个数据块与查询参数匹配时,返回匹配的数据块。返回匹配的数据块。返回匹配的数据块。

【技术实现步骤摘要】
【国外来华专利技术】用于大元数据管理的列技术


[0001]本专利技术涉及使用列技术来管理大量元数据。

技术介绍

[0002]随着分布式存储(即,云存储)变得越来越流行,用于非常大的数据集的性能度量也变得越来越重要。例如,当查询非常大的表(例如,大小为数拍字节(petabytes)或更大的表)时,经常扫描数百万或更多条目以成功地响应查询。在这种情况下,查询可能花费大量的时间来完成。使用元数据来定位条目可以加速该过程,但是随着元数据量的增加,性能降低。

技术实现思路

[0003]本公开的一个方面提供了一种用于将列技术用于大元数据(即,大量元数据)管理的方法。该方法包括在数据处理硬件处接收查询请求,该查询请求请求数据表中返回从与查询参数相匹配的任何数据块。数据表被存储在与数据处理硬件通信的存储器硬件上并与一个或多个系统表相关联,其中一个或多个系统表中的每一个都具有行,每一个行都包括用于数据表的相应数据块的元数据。该方法还包括由数据处理硬件基于查询请求生成系统查询。系统查询返回从一个或多个系统表的行中选择的行子集,该行子集包括与查询请求的查询参数相匹配的数据表的相应数据块的元数据。该方法还包括由数据处理硬件基于查询请求和系统查询生成最终查询。最终查询从数据表返回数据块的子集,该数据块的子集对应于行的子集中的行的其中一个。该方法还包括:由数据处理硬件确定数据块的子集中的任何数据块是否与查询请求所指示的查询参数相匹配;以及当数据块的子集中的一个或多个数据块与查询参数相匹配时,由数据处理硬件返回匹配的数据块。
[0004]本公开的实现可以包括以下可选特征中的一个或多个。在一些实施方式中,生成最终查询包括生成查询请求和系统查询的半连接。在一些示例中,系统查询包括一个或多个可证伪(falsifiable)表达式。在这些示例中,生成系统查询包括为查询请求的至少一个合取词(conjunct)生成可证伪表达式。
[0005]在一些实施方式中,数据表包括事实表(例如,大事实表)和维(dimension)表(例如,小于事实表),其中查询请求过滤维表。在这些实施方式中,该方法还包括由数据处理硬件基于查询请求生成过滤事实表的事实查询。在一些示例中,生成从数据表返回数据块的子集的最终查询和确定数据块的子集中的任何数据块是否与查询参数匹配交织(interleaved)。在一些实施方式中,一个或多个系统表的一部分被高速缓存在易失性存储器中。这些实施方式还可以包括,由数据处理硬件基于访问统计来确定高速缓存在易失性存储器中的一个或多个系统表的部分。在一些示例中,数据表以列主格式存储。
[0006]本公开的另一方面提供了一种用于将列技术用于大元数据管理的系统。该系统包括数据处理硬件和与该数据处理硬件通信的存储器硬件。该存储器硬件存储指令,该指令在数据处理硬件上执行时使数据处理硬件执行操作。该操作包括接收查询请求,该查询请
求请求数据表中返回从与查询参数相匹配的任何数据块。数据表被存储在存储器硬件上并与一个或多个系统表相关联,其中一个或多个系统表中的每一个都具有行,每一个行都包括用于数据表的相应数据块的元数据。该操作还包括基于查询请求生成系统查询。系统查询返回从一个或多个系统表的行中选择的行子集,该一个或多个系统表包括与查询请求的查询参数相匹配的数据表的相应数据块的元数据。该操作还包括基于查询请求和系统查询生成最终查询。最终查询从数据表返回数据块的子集,该数据块的子集对应于行的子集中的行的其中一个。该操作还包括确定数据块的子集中的任何数据块是否与查询请求所指示的查询参数相匹配,以及当数据块的子集中的一个或多个数据块与查询参数相匹配时,返回匹配的数据块。
[0007]该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,生成最终查询包括生成查询请求和系统查询的半连接。在一些示例中,系统查询包括一个或多个可证伪表达式。在这些示例中,生成系统查询包括为查询请求的至少一个合取词生成可证伪表达式。
[0008]在一些实施方式中,数据表包括事实表和维表,其中查询请求过滤维表。在这些实施方式中,操作可以进一步包括基于查询请求生成过滤事实表的事实查询。在一些示例中,生成从数据表返回数据块的子集的最终查询和确定数据块的子集中的任何数据块是否与查询参数匹配交织。在一些实施方式中,一个或多个系统表的一部分被高速缓存在易失性存储器中。这些实施方式还可以包括基于访问统计来确定高速缓存在易失性存储器中的一个或多个系统表的部分。在一些示例中,数据表以列主格式存储。
[0009]本公开的一个或多个实施方式的细节在附图和以下描述中阐述。通过说明书、和附图、以及权利要求书,其他方面、特征和优点将变得显而易见。
附图说明
[0010]图1是使用列技术管理大元数据的示例系统的示意图。
[0011]图2是图1的系统的系统的示例组件的示意图。
[0012]图3A和3B是示例性系统表的示意图。
[0013]图4A和4B是数据块时间戳的示例性时间线的示意图。
[0014]图5是用于高速缓存频繁使用的行的示例系统的示意图。
[0015]图6是用于执行处理加入的示例系统的示意图。
[0016]图7是用于使用列技术管理大元数据的方法的操作的示例布置的流程图。
[0017]图8是可用于实现本文描述的系统和方法的示例计算设备的示意图。
[0018]在各个附图中,相同的附图符号表示相同的元件。
具体实施方式
[0019]云数据仓库的快速出现正在重新定义数据分析的景观。随着数据量的增长,这种系统在今天和不久的将来必须扩展到越来越大的规模(例如,拍字节(petabytes)或艾字节(exabytes))。已经发展了许多技术以允许数据系统处理这种极端的存储要求。通常,这些技术包括随着数据对象的数量增加而增加存储的元数据的量。大数据系统可以利用关于各个数据块的丰富元数据来执行低等待时间数据分析。因此,似乎存储更多元数据通常应该
导致性能的提高和等待时间的减少。然而,传统上,大的数据系统已经尝试减少元数据的量,以便更好地扩缩系统,同时在性能上做出相应的牺牲,因为随着元数据大小的增加,元数据系统的可缩放性、可管理性和性能降低了系统的整体行为。
[0020]在一些数据系统中,数据块作为列块的集合(即,以列主格式)存储在数据表中。元数据可以存储在与数据表的数据块相关联的一个或多个系统表中。例如,元数据包括数据表的数据块的表模式和块位置(例如,作为路径)。对数据表的查询往往在表的一列或多列上具有过滤器。此外,星(star)模式和雪花(snowflake)模式是常见的。对这样的表(例如,具有星模式或雪花模式的数据表)的查询已经隐含了数据系统在处理数据表的维表之后生成的过滤器谓词。
[0021]显然,减少数据表中必须扫描的行数对于数据表查询的效率和等待时间是关键。存储关于每个块的丰富元数据显着地提高了查询性能,但是随着数据表大小的增加,元数据的量可以显着地增加。尽管大的数据系统传统上试图减少元数据的量以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实施的方法(700),其特征在于,当在数据处理硬件(144)上执行时,使所述数据处理硬件(144)执行操作,所述操作包括:接收查询请求(20),所述查询请求(20)请求从数据表(158)返回与查询参数(21)匹配的任何数据块(152),所述数据表(158)存储在与所述数据处理硬件(144)通信的存储器硬件(146)上,并与一个或多个系统表(154)相关联,所述一个或多个系统表(154)中的每一个具有行(210),所述行(210)中的每一个包括所述数据表(158)的相应数据块(152)的元数据(300);基于所述查询请求(20)生成系统查询(172),所述系统查询(172)用于返回从所述一个或多个系统表(154)的行(210)中选择的行(210)的子集,所述行(210)的子集包括与所述查询请求(20)的查询参数(21)相匹配的所述数据表(158)的所述相应数据块(152)的所述元数据(300);基于所述查询请求(20)和所述系统查询(172)生成最终查询(186),所述最终查询(186)从所述数据表(158)返回数据块(152)的子集,所述数据块(152)的子集中的每个数据块(152)对应于所述行(210)的子集中的其中一行(210);确定所述数据块(152)的子集(152)中的任何数据块(152)是否与所述查询请求(20)所指示的所述查询参数(21)相匹配;和当所述数据块(152)的子集中的一个或多个数据块(152)与所述查询参数(21)匹配时,返回匹配的数据块(152)。2.根据权利要求1所述的方法(700),其特征在于,生成所述最终查询(186)包括生成所述查询请求(20)和所述系统查询(172)的半连接。3.根据权利要求1或2所述的方法(700),其特征在于,所述系统查询(172)包括一个或多个可证伪表达式。4.根据权利要求3所述的方法(700),其特征在于,生成所述系统查询(172)包括为所述查询请求(20)的至少一个合取词生成可证伪表达式。5.根据权利要求1

4中任一项所述的方法(700),其特征在于,所述数据表(158)包括事实表和维表,并且其中所述查询请求(20)过滤所述维表。6.根据权利要求5所述的方法(700),其特征在于,所述操作还包括基于所述查询请求(20)生成过滤所述事实表的事实查询(620)。7.根据权利要求1

6中任一项所述的方法(700),其特征在于,生成从所述数据表(158)返回所述数据块(152)的子集的所述最终查询(186)和确定所述数据块(152)的子集中的任何数据块(152)是否与所述查询参数(21)匹配被交织。8.根据权利要求1所述的方法(700),其特征在于,所述一个或多个系统表(154)的一部分被高速缓存在易失性存储器中。9.根据权利要求8所述的方法(700),其特征在于,所述操作还包括基于访问统计(520)来确定高速缓存在易失性存储器中的所述一个或多个系统表(154)的所述部分。10.根据权利要求1

9中任一项所述的方法(700),其特征在于,所述数据表(158)以列主格式存储。11.一种系统(100),其特征在于,包括:数据处理硬件(144);和
与所述...

【专利技术属性】
技术研发人员:帕文
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1