[發明專利]用于內存數據庫查詢處理的最優數據表示和輔助結構有效
| 申請號: | 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.szxzyx.cn/pat/books/201380054817.0/1.html,轉載請聲明來源鉆瓜專利網。





