用于内存数据库查询处理的最优数据表示和辅助结构的制作方法_3

文档序号:8417554阅读:来源:国知局
071] 计算机系统600还包括耦合到总线602的通信接口 618。通信接口 618提供耦合 到网络链路620的双向数据通信,该网络链路620连接到本地网络622。例如,通信接口 618 可以为综合业务数字网卡(ISDN)、电缆调制解调器、卫星调制解调器或提供数据通信连接 到相应类型的电话线路的调制解调器。作为另一个例子,通信接口 618可以是提供数据通 信连接到兼容的局域网的局域网(LAN)卡。也可以实现无线链路。在任何这类实施例中, 通信接口 618发送和接收用于输送表示各种类型的信息的数字数据流的电子、电磁或光学 的信号。
[0072] 网络链路620典型地通过一个或多个网络来提供到其他数据设备的数据通信。例 如,网络链路620可以通过本地网络622提供连接到主机计算机624或由互联网服务提 供商(ISP)626运营的数据设备。互联网服务提供商626进而通过现在普遍被称为"因特 网"628的全球分组数据通信网络来提供数据通信服务。本地网络622和因特网628两者 都使用电子、电磁或光学的信号来输送数字数据流。通过各种网络的信号以及在网络链路 620上且通过通信接口 618的信号是传输介质的示例性形式,该通信接口 618将数字数据送 入和送出计算机系统600。
[0073] 计算机系统600可以通过网络、网络链路620和通信接口 618发送消息和接收数 据,包括程序代码。在因特网的示例中,服务器630可能会通过因特网628、互联网服务提供 商626、本地网络622和通信接口 618来发送应用程序的请求代码。
[0074] 接收到的代码可以在其被接收时由处理器604执行,和/或存储在存储设备610 或其他非易失性存储装置中供以后执行。
[0075] 在前述说明中,已经参考了大量具体的细节说明了实施例,这些细节在不同的实 施方式之间可以是不同的。因此,本说明书和附图应被看做描述性的而非限制性的。这些 实施例的唯一和排他指示以及申请人想要成为实施例范围的内容,是由本申请按照此类权 利要求书公开的具体形式来发布的权利要求书的字面及等效范围,包括任何后续的更正。
【主权项】
1. 一种用于为内存数据库查询处理提供关系的优化数据表示的方法,所述方法包括: 基于候选列的数据特征从列集中选择所述候选列; 确定用于所选择的列的一个或多个候选编码; 针对所选择的列计算每个候选编码的成本, 其中所述成本基于查询工作负荷的统计值或使用的内存量,以及 其中所述查询工作负荷的统计值包括一组查询,其中每个所述查询都具有一个或多个 操作;以及 从所述候选编码中选择用于所选择的列的编码, 其中所述编码具有最低的成本。
2. 根据权利要求1所述的方法,其中查询工作负荷的统计值包括操作的基本成本因 子、用于对操作的列进行编码的每行平均长度、针对操作的列所处理的平均行数以及操作 的查询成本分数。
3. 根据权利要求2所述的方法,其中针对所述列的每个候选编码的所述成本是所述基 本成本因子、用于编码所述列的所述每行平均长度、针对所述列而处理的所述平均行数以 及所述查询成本分数的乘积在所有查询操作上的和。
4. 根据权利要求2所述的方法,其中所述基本成本因子是在查询工作负荷中的所有查 询上针对所述列来确定的。
5. 根据权利要求2所述的方法,其中所述平均行数是在查询工作负荷中的所有查询上 针对所述列来确定的。
6. 根据权利要求2所述的方法,其中查询成本分数是在查询工作负荷中的所有查询上 针对所述列来确定的。
7. 根据权利要求1所述的方法,进一步包括: 在发生内存数据库查询处理的同时使用所选择的编码对所选择的列进行编码。
8. 根据权利要求1所述的方法,进一步包括: 确定辅助数据结构集以用于协助执行所述内存数据库查询处理; 计算所述辅助数据结构集中的每个辅助结构的收益; 针对所述辅助数据结构集中的每个辅助结构计算内存量;以及 确定在适合指定的内存量的同时提供最大收益的辅助结构的优化集。
9. 根据权利要求8所述的方法,其中所述辅助结构选自包含以下内容的组:B-树、排序 表示、位图和布隆过滤器。
10. 根据权利要求8所述的方法, 其中所述指定的内存量被分成多个相等大小的块;以及 其中每个辅助结构所需要的内存量是用于所述结构的内存块的数目。
11. 根据权利要求8所述的方法,其中每个辅助结构的所述收益基于每个操作的改进 量、在所选择的列上的所述操作的行数以及针对所选择的列的查询成本分数的乘积。
12. -种非瞬时计算机可读介质,所述介质存储用于为内存数据库查询处理提供关系 的优化数据表示的指令的一个或多个序列,其中通过一个或多个处理器执行指令的所述一 个或多个序列使得所述一个或多个处理器执行以下步骤: 基于候选列的数据特征从列集中选择所述候选列; 确定用于所选择的列的一个或多个候选编码; 针对所选择的列计算每个候选编码的成本, 其中所述成本基于查询工作负荷的统计值或使用的内存量,以及 其中所述查询工作负荷的统计值包括一组查询,其中每个所述查询都具有一个或多个 操作;以及 从所述候选编码中选择用于所选择的列的编码, 其中所述编码具有最低的成本。
13. 根据权利要求12所述的非瞬时计算机可读介质,其中查询工作负荷的统计值包括 操作的基本成本因子、用于对操作的列进行编码的每行平均长度、针对操作的列所处理的 平均行数以及操作的查询成本分数。
14. 根据权利要求13所述的非瞬时计算机可读介质,其中针对所述列的每个候选编码 的所述成本是所述基本成本因子、用于编码所述列的所述每行平均长度、针对所述列而处 理的所述平均行数以及所述查询成本分数的乘积在所有查询操作上的和。
15. 根据权利要求13所述的非瞬时计算机可读介质,其中所述基本成本因子是在查询 工作负荷中的所有查询上针对所述列来确定的。
16. 根据权利要求13所述的非瞬时计算机可读介质,其中所述平均行数是在查询工作 负荷中的所有查询上针对所述列来确定的。
17. 根据权利要求13所述的非瞬时计算机可读介质,其中查询成本分数是在查询工作 负荷中的所有查询上针对所述列来确定的。
18. 根据权利要求12所述的非瞬时计算机可读介质,进一步包括在执行时使得所述一 个或多个处理器在发生内存数据库查询处理的同时执行使用所选择的编码对所选择的列 进行编码的步骤。
19. 根据权利要求12所述的非瞬时计算机可读介质,进一步包括在执行时使得所述一 个或多个处理器执行以下步骤的指令: 确定辅助数据结构集以用于协助执行所述内存数据库查询处理; 计算所述辅助数据结构集中的每个辅助结构的收益; 针对所述辅助数据结构集中的每个辅助结构计算内存量;以及 确定在适合指定的内存量的同时提供最大收益的辅助结构的优化集。
20. 根据权利要求19所述的非瞬时计算机可读介质,其中所述辅助结构选自包含以下 内容的组:B-树、排序表示、位图和布隆过滤器。
21. 根据权利要求19所述的非瞬时计算机可读介质, 其中所述指定的内存量被分成多个相等大小的块;以及 其中每个辅助结构所需要的内存量是用于所述结构的内存块的数目。
22. 根据权利要求19所述的非瞬时计算机可读介质,其中每个辅助结构的所述收益基 于每个操作的改进量、在所选择的列上的所述操作的行数以及针对所选择的列的查询成本 分数的乘积。
23. -种用于为内存数据库查询处理提供关系的优化数据表示的系统,所述系统包 括: 一个或多个处理器;以及 存储设备,被耦合到每个处理器并且包括指令使得所述一个或多个处理器执行: 基于候选列的数据特征从列集中选择所述候选列; 确定用于所选择的列的一个或多个候选编码; 针对所选择的列计算每个候选编码的成本, 其中所述成本基于查询工作负荷的统计值或使用的内存量,以及 其中所述查询工作负荷的统计值包括一组查询,其中每个所述查询都具有一个或多个 操作;以及 从所述候选编码中选择用于所选择的列的编码, 其中所述编码具有最低的成本。
【专利摘要】公开了一种用于为内存数据库查询处理提供关系的优化数据表示的方法。所述方法通过对执行内存数据库查询处理所在的关系进行编码以寻求优化可用内存的使用,并且通过采用辅助结构来维持性能。基于所述关系的一个或多个属性列中的数据模式来对关系进行编码,并且选择的所述编码适合于所述列中的特定类型的数据。基于所述结构能够提供的所述收益和以内存使用量表示的所述结构的成本来选择辅助结构集的成员。通过使用锁来消除查询处理和编码之间的冲突,在查询处理发生的同时实时执行对所述关系的编码。
【IPC分类】G06F17-30
【公开号】CN104737165
【申请号】CN201380054817
【发明人】S·伊蒂库拉, K·莫尔, B·戈德, N·阿格尔沃, E·塞德拉
【申请人】甲骨文国际公司
【公开日】2015年6月24日
【申请日】2013年9月12日
【公告号】EP2895968A2, US20140074819, WO2014043366A2, WO2014043366A3
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1