[發明專利]一種數據查詢方法及裝置有效
| 申請號: | 201310146187.1 | 申請日: | 2013-04-24 |
| 公開(公告)號: | CN104123288B | 公開(公告)日: | 2018-06-01 |
| 發明(設計)人: | 喬平;夏晨;傅躍兵 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 解婷婷;栗若木 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 查詢 元數據 查詢性能 查詢語句 數據查詢 整體系統 會話 替換 申請 更新元數據 查詢結果 查詢優化 數據倉庫 重復執行 大數據 主查詢 保存 遍歷 匹配 分解 應用 優化 管理 | ||
本申請公開了一種數據查詢方法及裝置,包括將查詢語句分解為一個以上查詢子句;遍歷查詢子句,查詢子句與元數據匹配,將其替換為元數據中保存的執行結果;否則執行查詢子句并更新元數據;將最終的執行結果用于主查詢得到查詢結果。本申請將已經執行過的查詢子句以及其執行結果作為元數據進行管理,對于當前會話或者不同會話中相同的查詢子句,直接將查詢子句替換為元數據中保存的執行結果,避免了查詢子句的重復執行,從而更大限度提高了整體系統的查詢性能。同時,與現有查詢語句層面的優化相比,本申請的查詢優化粒度更加細,更加適合于數據倉庫應用中的大數據查詢,從而進一步提高了整體系統的查詢性能。
技術領域
本申請涉及數據存儲和分析技術,尤指一種在數據倉庫應用中,針對海量、讀多寫少的數據進行數據查詢方法及裝置。
背景技術
在科學研究、計算機仿真、互聯網應用、電子商務等諸多應用領域,數據量正在以極快的速度增長。大數據時代的信息爆炸,尤其是非結構化數據的爆炸性增長,正在深刻影響著整個數據存儲和分析領域。
為了滿足新興的業務需求,開始逐漸摒棄傳統的數據處理方式,轉而嘗試新的模式,對包括非結構化數據在內的各種類型數據進行訪問、處理和分析。在數據存儲和分析領域,MapReduce無疑是最受關注的新一代技術,利用MapReduce編程框架,開發人員可以開發出跨處理器分布式集群或獨立計算機的、能夠并行處理海量非結構化數據的程序。其中,MapReduce是一種編程模型,用于大規模數據的并行運算,Map表示映射,Reduce表示化簡。
在大數據時代,傳統的結構化查詢語言(SQL,Structure Query Language)已經不能滿足所有的業務需求,而盡管MapReduc的應用非常廣泛,但是,MapReduc框架暴露出來的編程接口仍然比較低級,開發比較耗時,并且代碼很難復用。繼而,轉向能夠將用戶編寫的SQL轉化為相應的MapReduce程序,利用MapReduce框架執行這些任務以對Hadoop分布式文件系統(HDFS)上的海量數據進行處理的程序。目前應用最廣泛的是Facebook貢獻的Hive。基于MapReduce的Hive在擴展性與容錯性方面有強大的優勢。其中,Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供完整的SQL查詢功能,可以將SQL語句轉換為MapReduce任務進行運行。
在企業數據挖掘過程中,通常每天執行的挖掘任務都會成百上千,甚至達到上萬,所以也就難免存在不同的挖掘任務中重復計算的問題,比如:工程師A需要從表S1和表S2中篩選出一批條件W的數據,然后與表S3進行組合再生成工程師A想要的數據。同時,工程師B也需要從表S1和表S2中用相同條件W篩選出相同的數據,然后與表X組合,再生成工程師B想要的數據。在這兩個工程師間通常并不知道彼此有部分相同的需求,所以在生產任務中,相同的計算會進行兩次,相同的公共查詢信息被重復地訪問。無疑,這樣降低了整體系統的查詢性能。
發明內容
為了解決上述技術問題,本申請提供了一種數據查詢方法及裝置,能夠避免公共查詢信息的重復運行,從而提高整體系統的查詢性能。
為了達到本申請目的,本申請提供了一種數據查詢方法,其特征在于,包括:將查詢語句分解為一個以上查詢子句;
遍歷查詢子句,查詢子句與元數據匹配,將其替換為元數據中保存的執行結果,否則,執行查詢子句并更新元數據;
將最終得到的執行結果用于主查詢得到查詢結果;
其中,所述查詢子句包括子查詢與主查詢,子查詢優于主查詢先執行,子查詢的執行結果用于主查詢。
該方法之前還包括:獲取查詢語句,驗證查詢語句的有效性與正確性。
該方法還包括:對所述查詢語句進行規范化與查詢優化。
所述遍歷查詢子句具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310146187.1/2.html,轉載請聲明來源鉆瓜專利網。





