[发明专利]面向列存储数据仓库的多维OLAP查询处理方法有效
| 申请号: | 201210114111.6 | 申请日: | 2012-04-17 |
| 公开(公告)号: | CN102663116A | 公开(公告)日: | 2012-09-12 |
| 发明(设计)人: | 张延松;王珊 | 申请(专利权)人: | 中国人民大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京汲智翼成知识产权代理事务所(普通合伙) 11381 | 代理人: | 陈曦 |
| 地址: | 100872 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 存储 数据仓库 多维 olap 查询 处理 方法 | ||
技术领域
本发明涉及一种OLAP(联机分析处理)查询处理方法,尤其涉及一种面向列存储数据仓库,基于星型连接模型的多维OLAP查询处理方法,属于数据库管理技术领域。
背景技术
联机分析处理(On-Line Analytical Processing,简写为OLAP)的设计目标是满足决策支持或者多维环境下特定的查询和报表需求。数据仓库和OLAP是企业级决策处理的重要支撑技术。
但是,海量数据上的OLAP性能难以满足日益增长的实时高性能分析处理的需求。其性能的瓶颈主要体现在两个方面:一是较低的硬盘I/O性能,二是查询处理技术不够优化。提高硬盘I/O性能的主流技术是列存储。列存储可以实现对数据按列存储和访问。目前,列存储数据库采用的查询处理技术主要有两类,一类是列数据查询处理技术,另一类是通过数据在内存的缓存将列存储数据动态转换为行存储数据,然后使用传统的行存储查询处理技术。
列数据查询处理技术将关系代数细化为列代数,将关系操作分解为若干有序的列操作。列数据查询处理技术需要产生大量的物化连接索引和额外的列间连接操作代价,在OLAP查询中需要对事实表外键列进行两次扫描以完成过滤和分组操作,增加了额外的I/O访问开销。
当前广泛采用的动态列/行转换查询处理技术,通过将数据按列访问提高投影操作的I/O效率,但在查询处理层次上仍然采用行存储的流水线(pipeline)查询处理技术。该流水线查询处理技术要对查询处理所需的连接数据进行先物化,当选择率较低时,大量物化数据最终被抛弃,消耗了额外的内存带宽资源,降低了内存处理性能。
并行OLAP的主要应用场景是内存数据库。在行存储数据库中,具有代表性的技术是采用物化连接的方法将多个表物化为一个非规范化连接表,然后基于水平分片模式对可分布式聚集函数进行并行处理并合并聚集结果集。这种技术简化了查询处理的复杂度并提高了并行加速比,但需要付出较大的空间代价。在列存储模型上,具有代表性的技术是将执行代价大的列间连接操作进行逻辑水平分片后再并行连接,然后将并行连接结果合并后再参与其后的列操作。该技术实现过程简单,但串行处理的负载比例较高,整体并行处理资源未能得到充分的发挥。
对于磁盘数据库的应用场景,并行OLAP的处理性能受磁盘并行访问I/O性能的制约,较少采用基于水平分片模式的并行处理技术,而是采用共享磁盘扫描模式的并发查询处理技术。该并发查询处理技术的核心是最小化OLAP的内存处理时间,使一个I/O延迟内能够处理尽可能多的并发查询任务。传统的哈希连接在并发查询处理负载下产生大量的哈希表,这些哈希表将耗尽系统的内存资源,从而导致哈希连接的性能变差。OLAP查询的选择率相对较高,因此并发查询处理面临更大的性能瓶颈,在实践中难以获得理想的性能。
发明内容
本发明所要解决的技术问题在于提供一种面向列存储数据仓库,基于星型连接模型的多维OLAP查询处理方法。该方法可以提高列存储的I/O性能,实现基于一趟列扫描基础上的OLAP查询处理。
为解决上述的技术问题,本发明采用下述的技术方案:
一种面向列存储数据仓库的多维OLAP查询处理方法,将OLAP查询分解为位图过滤操作、分组操作和聚集操作,事实表和维表采用列存储模型进行存储,其特征在于:
在位图过滤操作中,首先将谓词在维表上执行并生成谓词向量位图。在查询处理时,顺序扫描连接操作对应的多个事实表外键属性列,通过代理键地址映射将连接操作转换为对位图的直接按位置访问操作,并抽取相应维表谓词向量中相应位进行与操作来判断该事实表记录是否满足连接过滤条件;
在分组操作中,将满足过滤条件的事实表记录按SQL命令中的分组属性预生成分组单元并分配递增的ID,并在事实表过滤分组向量中将该记录位置对应的向量值设置为当前分组ID;
在聚集操作中,通过对事实表度量属性的一趟列扫描实现按事实表过滤分组向量进行分组聚集计算。
其中较优地,将维属性列加载到内存形成内存维属性数组,所述主键对应所述内存维属性数组的下标;
事实表记录的外键属性值映射为对应维表中内存维属性数组的下标;
所述事实表和所述维表通过外键与主键的对应关系完成多表连接操作。
其中较优地,当内存不能容纳全部维表时,将查询处理中需要访问的维表分组属性列加载入内存形成内存维向量,在维表上进行谓词操作,将谓词操作结果存储在一个与维表等长的位图中,作为谓词向量来记录每一个维表记录对谓词操作结果的满足状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210114111.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:针装置
- 下一篇:阻燃性热塑性树脂组合物及其成型品





