[發明專利]一種OLAP查詢引擎動態cost評估方法及裝置在審
| 申請號: | 202210124268.0 | 申請日: | 2022-02-10 |
| 公開(公告)號: | CN114416783A | 公開(公告)日: | 2022-04-29 |
| 發明(設計)人: | 毛春陽;閆一帥 | 申請(專利權)人: | 中盈優創資訊科技有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/28;G06N20/00 |
| 代理公司: | 上海嘉藍專利代理事務所(普通合伙) 31407 | 代理人: | 金波 |
| 地址: | 200000 上海市嘉定區安*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 olap 查詢 引擎 動態 cost 評估 方法 裝置 | ||
本發明公開一種OLAP查詢引擎動態cost評估方法及裝置,其中,該方法包括:采集數據倉庫中數據表的數據量和字段基數;同時記錄歷史查詢sql和對應的查詢時間;對sql的執行時間進行離散處理,生成標簽;同時將數據表的表信息、過濾字段、分析字段、時間分區、表數據量和分析字段基數,生成各自的特征編碼;利用已有的機器學習模型,對已有查詢樣本,根據提取的數據表的特征進行分類算法訓練;將OLAP查詢引擎的執行計劃轉化為特征向量,輸入機器學習模型中進行基數評估,從而獲得數據表的預估查詢時間。該方法及裝置使OLAP查詢引擎能夠快速、準確的對輸入的查詢sql進行cost評估,生成最優執行計劃。
技術領域
本發明涉及OLAP查詢引擎領域,尤其是一種OLAP查詢引擎動態cost評估方法及裝置。
背景技術
目前市面上主流的開源OLAP(On-Line Analytical Processing,聯機分析處理)查詢引擎,包括Hive、Spark SQL、Presto、Kylin、Impala、Druid、Clickhouse、Greeplum等,都是使用基于規則的方式來進行cost評估,如圖1所示,目前存在以下問題:
1、準確性低:表的數據量、字段基數等信息對查詢性能影響很大,目前基于規則的cost評估引擎無法利用這些信息對sql進行最優cost評估。
2、沒有動態改進的能力:不具備自學習能力,無法動態學習查詢記錄,改進提升cost評估準確性。
發明內容
為了解決目前基于規則的方式進行cost評估存在的上述問題,本發明提供一種OLAP查詢引擎動態cost評估方法及裝置,使OLAP查詢引擎能夠快速、準確的對輸入的查詢sql進行cost評估,生成最優執行計劃。
為實現上述目的,本發明采用下述技術方案:
在本發明一實施例中,提出了一種OLAP查詢引擎動態cost評估方法,該方法包括:
采集數據倉庫中數據表的數據量和字段基數;同時記錄歷史查詢sql和對應的查詢時間;
對sql的執行時間進行離散處理,生成標簽;同時將數據表的表信息、過濾字段、分析字段、時間分區、表數據量和分析字段基數,生成各自的特征編碼;
利用已有的機器學習模型,對已有查詢樣本,根據提取的數據表的特征進行分類算法訓練;
將OLAP查詢引擎的執行計劃轉化為特征向量,輸入機器學習模型中進行基數評估,從而獲得數據表的預估查詢時間。
進一步地,對sql的執行時間進行離散處理,生成標簽,包括:
對sql的執行時間進行離散處理,并打上標簽;
生成數據表的執行時間及對應的標簽。
進一步地,將數據表的表信息、過濾字段、分析字段、時間分區、表數據量和分析字段基數,生成各自的特征編碼,包括:
對數據表的表信息、過濾字段、分析字段和時間分區進行onehot編碼,生成各自的特征編碼,其中時間分區的特征編碼長度為365*4,范圍為N天,則第N位為1;
對數據表的數據量,通過其中i為表標識,n為表數據量,生成特征編碼;
對數據表的分析字段基數,通過其中I為分析字段標識,N為分析字段基數,生成特征編碼。
進一步地,根據正態分布的定義,對查詢樣本的異常數據進行丟棄處理。
在本發明一實施例中,還提出了一種OLAP查詢引擎動態cost評估裝置,該裝置包括:
信息采集模塊,用于采集數據倉庫中數據表的數據量和字段基數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中盈優創資訊科技有限公司,未經中盈優創資訊科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210124268.0/2.html,轉載請聲明來源鉆瓜專利網。





