[發(fā)明專利]批量數(shù)據(jù)查詢方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410673523.2 | 申請(qǐng)日: | 2014-11-21 |
| 公開(kāi)(公告)號(hào): | CN105677683B | 公開(kāi)(公告)日: | 2018-12-14 |
| 發(fā)明(設(shè)計(jì))人: | 李豐;王蕾;張赟;馮曉兵 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司;中國(guó)科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 北京同立鈞成知識(shí)產(chǎn)權(quán)代理有限公司 11205 | 代理人: | 馬爽;黃健 |
| 地址: | 518129 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 批量 數(shù)據(jù) 查詢 方法 裝置 | ||
本發(fā)明實(shí)施例提供一種批量數(shù)據(jù)查詢方法和裝置,通過(guò)獲取多條查詢語(yǔ)句對(duì)應(yīng)的多棵邏輯查詢計(jì)劃樹(shù),根據(jù)每棵邏輯查詢計(jì)劃樹(shù)的各操作符將多棵邏輯查詢計(jì)劃樹(shù)劃分為多個(gè)查詢組,每個(gè)查詢組中的邏輯查詢計(jì)劃樹(shù)之間具有下述關(guān)系:查詢間寫(xiě)讀依賴關(guān)系、操作符重疊關(guān)系或操作數(shù)重疊關(guān)系,然后,對(duì)每個(gè)查詢組內(nèi)的邏輯查詢計(jì)劃樹(shù)進(jìn)行查詢間優(yōu)化,根據(jù)優(yōu)化后的多棵邏輯查詢計(jì)劃樹(shù)生成對(duì)應(yīng)的多棵物理查詢計(jì)劃樹(shù),最后,根據(jù)多棵物理查詢計(jì)劃樹(shù)執(zhí)行物理查詢得到多條查詢語(yǔ)句的查詢結(jié)果。所述方法通過(guò)對(duì)多棵邏輯查詢計(jì)劃樹(shù)進(jìn)行分組,提高了查詢組內(nèi)的邏輯查詢計(jì)劃樹(shù)之間的優(yōu)化機(jī)會(huì),通過(guò)對(duì)查詢組內(nèi)的邏輯查詢計(jì)劃樹(shù)進(jìn)行查詢間優(yōu)化,提高了批量數(shù)據(jù)查詢的效率。
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及數(shù)據(jù)倉(cāng)庫(kù)查詢優(yōu)化技術(shù),尤其涉及一種批量數(shù)據(jù)查詢方法和裝置。
背景技術(shù)
目前代表性的大數(shù)據(jù)查詢系統(tǒng)(如:Hive,Shark,Impala)均以單條查詢語(yǔ)句作為解析和優(yōu)化的基本單位,其基本查詢處理流程如下:首先,將讀入的單條查詢語(yǔ)句解析成樹(shù)狀結(jié)構(gòu)的邏輯查詢計(jì)劃樹(shù),然后,通過(guò)對(duì)邏輯查詢計(jì)劃樹(shù)的每一個(gè)算子選擇實(shí)現(xiàn)算法,并確定這些算子的執(zhí)行順序,從而將邏輯查詢計(jì)劃樹(shù)轉(zhuǎn)換為物理查詢計(jì)劃,最后,查詢執(zhí)行引擎執(zhí)行該物理查詢計(jì)劃,并輸出查詢結(jié)果。
大數(shù)據(jù)查詢系統(tǒng)的一個(gè)關(guān)鍵性能是查詢效率,目前常用的提高大數(shù)據(jù)查詢系統(tǒng)查詢效率的方法主要是通過(guò)對(duì)邏輯查詢計(jì)劃樹(shù)進(jìn)行等價(jià)變換,以減少物理查詢計(jì)劃中的任務(wù)數(shù)量、降低任務(wù)的執(zhí)行開(kāi)銷(包括:降低對(duì)文件系統(tǒng)的讀寫(xiě)頻率、控制網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量以及查詢操作的計(jì)算量等)。然而,在數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse)的批量查詢場(chǎng)景下,傳統(tǒng)的以單條查詢語(yǔ)句為解析和優(yōu)化基本單位的處理模式存在優(yōu)化機(jī)會(huì)不足的問(wèn)題。例如:Hive0.12版本新增的任務(wù)流關(guān)聯(lián)性優(yōu)化只能為標(biāo)準(zhǔn)測(cè)試集TPC-H共計(jì)22個(gè)查詢用例中的3個(gè)用例帶來(lái)加速,且對(duì)用例的書(shū)寫(xiě)方式有特定的要求。
與查詢內(nèi)優(yōu)化機(jī)會(huì)不足構(gòu)成強(qiáng)烈對(duì)比的是數(shù)據(jù)倉(cāng)庫(kù)批量查詢應(yīng)用場(chǎng)景中所呈現(xiàn)出的豐富的查詢間優(yōu)化機(jī)會(huì),查詢間優(yōu)化機(jī)會(huì)即多條查詢語(yǔ)句之間存在的優(yōu)化機(jī)會(huì),在批量查詢應(yīng)用場(chǎng)景下,查詢語(yǔ)句之間存在雷同的概率較高,因此,存在大量的查詢優(yōu)化機(jī)會(huì),但是,現(xiàn)有技術(shù)中只針對(duì)單條查詢語(yǔ)句進(jìn)行查詢優(yōu)化,使得大數(shù)據(jù)查詢的查詢效率低下。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種批量數(shù)據(jù)查詢方法和裝置,以提高批量數(shù)據(jù)查詢效率。
本發(fā)明第一方面提供一種批量數(shù)據(jù)查詢方法,包括:
獲取多條查詢語(yǔ)句對(duì)應(yīng)的多棵邏輯查詢計(jì)劃樹(shù),其中,每條查詢語(yǔ)句對(duì)應(yīng)一棵邏輯查詢計(jì)劃樹(shù),所述多棵邏輯查詢計(jì)劃樹(shù)中的每棵邏輯查詢計(jì)劃樹(shù)包括多個(gè)操作符,所述每棵邏輯查詢計(jì)劃樹(shù)的每個(gè)操作符包括至少一個(gè)操作數(shù);
根據(jù)所述每棵邏輯查詢計(jì)劃樹(shù)的各操作符將所述多棵邏輯查詢計(jì)劃樹(shù)劃分為多個(gè)查詢組,其中,每個(gè)查詢組中的邏輯查詢計(jì)劃樹(shù)之間具有下述關(guān)系:查詢間寫(xiě)讀依賴關(guān)系、操作符重疊關(guān)系或操作數(shù)重疊關(guān)系;
對(duì)所述每個(gè)查詢組內(nèi)的各邏輯查詢計(jì)劃樹(shù)進(jìn)行查詢間優(yōu)化;
根據(jù)優(yōu)化后的多棵邏輯查詢計(jì)劃樹(shù)生成對(duì)應(yīng)的多棵物理查詢計(jì)劃樹(shù);
根據(jù)所述多棵物理查詢計(jì)劃樹(shù)執(zhí)行物理查詢,得到所述多條查詢語(yǔ)句的查詢結(jié)果。
結(jié)合本發(fā)明第一方面,在本發(fā)明第一方面的第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述每棵邏輯查詢計(jì)劃樹(shù)的各操作符將所述多棵邏輯查詢計(jì)劃樹(shù)劃分為多個(gè)查詢組,包括:
根據(jù)所述每棵邏輯查詢計(jì)劃樹(shù)的各操作符和所述每棵邏輯查詢計(jì)劃樹(shù)的各操作符的各操作數(shù)的數(shù)據(jù)標(biāo)識(shí),確定所述每棵邏輯查詢計(jì)劃樹(shù)的查詢間寫(xiě)讀依賴關(guān)系,將所有具有查詢間寫(xiě)讀依賴關(guān)系的邏輯查詢計(jì)劃樹(shù)劃分到第一分組中,將所有不具有查詢間寫(xiě)讀依賴關(guān)系的邏輯查詢計(jì)劃樹(shù)劃分到第二分組中;
根據(jù)所述第一分組中的每棵邏輯查詢計(jì)劃樹(shù)的查詢間寫(xiě)讀依賴關(guān)系將所述第一分組中的邏輯查詢計(jì)劃樹(shù)劃分為至少一個(gè)查詢組;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司;中國(guó)科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)華為技術(shù)有限公司;中國(guó)科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410673523.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:一種道路編碼方法及裝置
- 下一篇:共享圖片的方法和裝置
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 帶有前處理和后處理的數(shù)據(jù)庫(kù)復(fù)合查詢系統(tǒng)及方法
- 數(shù)據(jù)庫(kù)查詢的方法和系統(tǒng)
- 查詢系統(tǒng)、查詢終端以及查詢方法
- 交易信息查詢方法、查詢裝置及查詢系統(tǒng)
- 數(shù)據(jù)查詢與結(jié)果生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 在RDF數(shù)據(jù)集上進(jìn)行OPTIONAL查詢的方法及存儲(chǔ)介質(zhì)
- 一種多表關(guān)聯(lián)查詢方法、裝置及設(shè)備
- 一種基于Impala的查詢方法和裝置
- 從查詢生成子查詢
- 一種基于通用查詢語(yǔ)言的查詢方法及查詢系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





