[发明专利]用于内存数据库查询处理的最优数据表示和辅助结构有效
申请号: | 201380054817.0 | 申请日: | 2013-09-12 |
公开(公告)号: | CN104737165B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | S·伊蒂库拉;K·莫尔;B·戈德;N·阿格尔沃;E·塞德拉 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 袁玥 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 内存 数据库 查询 处理 最优 数据 表示 辅助 结构 | ||
公开了一种用于为内存数据库查询处理提供关系的优化数据表示的方法。所述方法通过对执行内存数据库查询处理所在的关系进行编码以寻求优化可用内存的使用,并且通过采用辅助结构来维持性能。基于所述关系的一个或多个属性列中的数据模式来对关系进行编码,并且选择的所述编码适合于所述列中的特定类型的数据。基于所述结构能够提供的所述收益和以内存使用量表示的所述结构的成本来选择辅助结构集的成员。通过使用锁来消除查询处理和编码之间的冲突,在查询处理发生的同时实时执行对所述关系的编码。
相关申请的交叉引用
背景技术
传统处理模型假定一组紧密耦合、非常高速的中央处理器和非常大容量(在100太字节量级)、但相对低速的盘系统,该盘系统具有足够的容量来存储所有需要的表,针对该传统处理模型,关系数据库查询处理已经进行了优化。包括太字节的主内存、位于处理器和盘系统之间的虚拟内存有助于避免高成本的盘I/O操作。然而,高速的中央处理器和大容量的盘系统价格昂贵并且消耗大量的功率(在10千瓦量级)。
新的更低成本和更低功耗的处理模型可供使用,部分由于诸如DRAM的主内存的每比特成本已大大降低。一种这样的模型是具有大量处理单元、相比盘系统中的存储量为中等的主内存量、以及不具有用于虚拟扩展主内存的永久存储装置的集群,其中每个处理单元包含低速处理器。在该模型中,集群可以具有多达1000个处理单元。
如果处理单元的每一个都可以利用得当,那么集群中的大量处理单元具有很高的聚合计算能力和内存。这种潜在的高性能使得集群对于查询处理有吸引力,但是当查询处理转移到内存数据库处理时,基于盘的模型会产生问题。
附图说明
通过参考下面的详细说明并结合附图考虑,实施例及许多与其伴随而来的优势变得更好理解,将更容易获得对实施例及许多其伴随而来的优势的更全面的理解,其中:
图1示出用于执行实施例的示例流程;
图2示出用于对关系进行编码的示例流程;
图3示出用于选择辅助结构的示例流程;
图4示出用于确定辅助结构的成本和收益的示例流程;
图5示出用于在查询处理过程中执行运行时编码(run-time encoding)的示例流程;和
图6示出示例性的系统设置。
具体实施方式
概述
实施例使得基于盘的查询处理适应内存数据库查询处理,这要求在保持性能的同时将使用的内存量以及计算和内存带宽最小化。为了最小化内存和带宽,要使查询所操作的数据结构适应内存的大小。为了维持性能,要在内存中保留最优的辅助数据结构集。
在图1所示的实施例中,在步骤102中系统为关系中的列选择编码以使得该关系适应内存的大小。查询工作负荷中基于查询操作的编码的成本确定该编码选择。在本实施例中,性能的维持是通过在步骤104中基于内存量和对每个辅助结构的收益来选择辅助结构而完成的。在系统在内存中处理查询的同时,在步骤106中所选择的编码的实际编码实时运行。锁定系统保证该实时编码基本上不干扰查询处理。
具体实施方式
候选编码
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380054817.0/2.html,转载请声明来源钻瓜专利网。