[发明专利]通过列式存储格式的全面位图索引进行高效扫描在审
申请号: | 202080101368.0 | 申请日: | 2020-07-24 |
公开(公告)号: | CN115698978A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 马继红;徐帅;蒋晓伟 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 广州铸智知识产权代理有限公司 44886 | 代理人: | 徐瑞红 |
地址: | 开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 存储 格式 全面 位图 索引 进行 高效 扫描 | ||
提供了一种用于在数据分析存储引擎中执行查询的系统和方法。方法包括:接收查询以在数据分析存储引擎中定位目标数据,数据分析存储引擎包括:被划分为数据的一个或更多个分割的数据行,一个或更多个分割具有对应于数据行的数据列,以及嵌入在一个或更多个分割中的位图数据,其中位图数据与数据列相关联;以及使用一个或更多个分割中的位图数据定位目标数据。
技术领域
本公开大体涉及列式存储索引,更具体地,涉及大规模分布式数据分析存储引擎中的位图索引。
背景技术
大数据技术已经能够处理包括实时数据在内的海量数据,这为通过大规模分布式大数据分析做出实时业务决策提供了可能性。用于分布式数据查询处理引擎的开源列式存储格式(例如,Apache Parquet,Apache ORC)已经被开发出来,以允许通过各种SQL查询处理对底层数据进行有效分析。然而,这些列式存储格式通常有一个显著的缺点,这些列式存储格式没有能够提供有效的谓词下推来仅扫描符合过滤谓词的数据的适当、全面的嵌入式索引结构。
发明内容
本公开实施例提供了一种在数据分析存储引擎中执行SQL查询的方法,所述方法包括:接收查询以扫描列式存储中匹配的相关数据,包括:被划分为一个或更多个文件分割的数据行,每个文件分割都以列方式存储,其中与其对应列相关联的位图索引与每个文件分割的列数据一起嵌入,在查询处理时利用位图索引有效地跳过那些不符合过滤谓词的数据部分,进而实现高效扫描并显著降低I/O成本。
此外,本公开实施例提供了一种数据分析存储引擎。所述数据分析存储引擎包括:被划分为数据的一个或更多个分割的数据行,一个或更多个分割具有对应于数据行的数据列;以及嵌入在一个或更多个分割中的位图数据,其中位图数据与数据列相关联,并且位图数据被配置为在一个或更多个分割中定位查询中的目标数据。
此外,本公开实施例还提供了存储指令集的非暂时性计算机可读介质,该指令集能够由数据分析存储引擎的一个或更多个处理器执行,以使数据分析存储引擎启动一种方法,该方法包括:接收查询以定位数据分析存储引擎中的目标数据,所述数据分析存储引擎包括:被划分为数据的一个或更多个分割的数据行,一个或更多个分割具有对应于数据行的数据列;以及嵌入在一个或更多个分割中的位图数据,其中位图数据与数据列相关联;以及使用一个或更多个分割中的位图数据定位目标数据。
附图说明
并入本说明书并构成本说明书的一部分的附图示出了与本发明一致的实施例,并且与具体实施方式一起解释了本发明的原理。
图1A示出了以行式存储来存储行数据的示例性格式。
图1B示出了以列式存储来存储列数据的示例性格式。
图1C示出了以列式存储来存储连续列数据的示例性格式。
图2示出了列式存储分割的示例性格式。
图3示出了在数据分析存储引擎中示例性扫描操作。
图4示出了根据本公开一些实施例的数据分析存储引擎的示例性服务器的示意图。
图5示出了根据本公开一些实施例的示例性列数据块。
图6示出了根据本公开一些实施例的具有嵌入式位图数据的示例性分割。
图7示出了根据本公开一些实施例的具有嵌入式位图数据和嵌入式字典数据的示例性分割。
图8示出了根据本公开一些实施例的使用嵌入式字典数据和位图数据来执行查询的示例性过程。
图9示出了根据本公开一些实施例的使用分割中的嵌入式位图数据来执行查询的示例性方法的流程图。
图10示出了根据本公开一些实施例的使用嵌入式位图数据和字典数据来执行查询的示例性方法的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080101368.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:资源确定方法、终端设备和网络设备
- 下一篇:制冷剂分配器、热交换器和空调装置