[发明专利]用于内存数据库查询处理的最优数据表示和辅助结构有效
申请号: | 201380054817.0 | 申请日: | 2013-09-12 |
公开(公告)号: | CN104737165B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | S·伊蒂库拉;K·莫尔;B·戈德;N·阿格尔沃;E·塞德拉 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 袁玥 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 内存 数据库 查询 处理 最优 数据 表示 辅助 结构 | ||
1.一种用于在系统正在处理进入的查询时为内存数据库的列提供实时编码的方法,所述方法包括:
从列集中选择候选列;
确定用于所选择的列的一个或多个候选编码;
对查询工作负荷中的每种操作类型Oi和所有查询收集一个或多个操作类型Oi的查询工作负荷的统计值,
其中查询工作负荷的统计值包括针对每种操作类型处理所选择的列所花费的查询处理时间的分数;
针对所选择的列计算每个候选编码的成本,
其中,每个候选编码的成本基于每个候选编码的每种操作类型的成本,每个候选编码的每种操作类型的成本基于针对每种操作类型所收集的查询工作负荷的统计值来确定;
其中所述成本基于使用的内存量和针对特定操作类型处理所选择的列所花费的查询处理时间的分数;以及
从所述候选编码中选择用于所选择的列的编码,
其中所述编码具有最低的成本;以及
使用所选择的编码对所选择的列进行编码。
2.根据权利要求1所述的方法,其中所收集的查询工作负荷的统计值包括针对操作类型Oi的查询的所述候选列的过滤器的平均选择性。
3.根据权利要求2所述的方法,其中所收集的查询工作负荷的统计值包括由操作类型Oi的查询处理的平均行数。
4.根据权利要求1所述的方法,其中所收集的查询工作负荷的统计值还包括查询成本分数,该查询成本分数包括操作类型Oi的查询在所述候选列上花费的查询处理时间的分数。
5.根据权利要求1所述的方法,进一步包括:
确定辅助数据结构集以用于协助执行所述内存数据库的查询处理;
计算所述辅助数据结构集中的每个辅助数据结构的收益;
针对所述辅助数据结构集中的每个辅助数据结构计算内存量;以及
确定在适合指定的内存量的同时提供最大收益的辅助数据结构的优化集。
6.根据权利要求5所述的方法,其中所述辅助数据结构选自包含以下内容的组:B-树、排序表示、位图和布隆过滤器。
7.根据权利要求5所述的方法,
其中所述指定的内存量被分成多个相等大小的内存块;以及
其中每个辅助数据结构所需要的内存量是用于所述辅助数据结构的内存块的数目。
8.根据权利要求5所述的方法,其中每个辅助数据结构的所述收益基于每个操作的改进量、在所选择的列上的所述操作的行数以及针对所选择的列的查询成本分数的乘积。
9.一种系统,用于在系统正在处理进入的查询时为内存数据库的列提供实时编码,所述系统包括:
用于从列集中选择候选列的装置;
用于确定用于所选择的列的一个或多个候选编码的装置;
用于对查询工作负荷中的每种操作类型Oi和所有查询收集一个或多个操作类型Oi的查询工作负荷的统计值的装置,
其中查询工作负荷的统计值包括针对每种操作类型处理所选择的列所花费的查询处理时间的分数;
用于针对所选择的列计算每个候选编码的成本的装置,
其中,每个候选编码的成本基于每个候选编码的每种操作类型的成本,每个候选编码的每种操作类型的成本基于针对每种操作类型所收集的查询工作负荷的统计值来确定;
其中所述成本基于使用的内存量和针对特定操作类型处理所选择的列所花费的查询处理时间的分数;以及
用于从所述候选编码中选择用于所选择的列的编码的装置,
其中所述编码具有最低的成本;以及
用于使用所选择的编码对所选择的列进行编码的装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380054817.0/1.html,转载请声明来源钻瓜专利网。