午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種適應(yīng)協(xié)處理器的混合olap查詢處理方法

文檔序號(hào):6636893閱讀:250來源:國(guó)知局
一種適應(yīng)協(xié)處理器的混合olap查詢處理方法
【專利摘要】本發(fā)明涉及一種適應(yīng)協(xié)處理器的混合OLAP查詢處理方法,采用MOLAP模型將多維數(shù)據(jù)集組織為空間CUBE,每一個(gè)存儲(chǔ)單元對(duì)應(yīng)唯一的多維空間坐標(biāo);構(gòu)建虛擬多維數(shù)據(jù)CUBE;將事實(shí)數(shù)據(jù)壓縮存儲(chǔ);將n個(gè)維坐標(biāo)ID和度量屬性存儲(chǔ)為列數(shù)組;在semi-MOLAP模型中多維查詢的處理過程被分解為構(gòu)建虛擬數(shù)據(jù)CUBE、n維過濾和聚集計(jì)算,通過創(chuàng)建維過濾向量、維坐標(biāo)ID列在維過濾向量上的過濾操作以及基于度量索引的聚集計(jì)算實(shí)現(xiàn)基于數(shù)組和向量的簡(jiǎn)單計(jì)算過程,并將其中數(shù)據(jù)量少但計(jì)算量較大的n維過濾操作分配給Coprocessor執(zhí)行;在并發(fā)查詢處理時(shí),CPU與Coprocessor上的計(jì)算能夠?qū)崿F(xiàn)流水并行處理。本發(fā)明支持多維查詢處理,能有效提高大數(shù)據(jù)存儲(chǔ)、訪問和處理效率,可以廣泛在GPU、GPGPU以及新的Intel Phi Coprocessor平臺(tái)中應(yīng)用。
【專利說明】—種適應(yīng)協(xié)處理器的混合0查詢處理方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)庫(kù)領(lǐng)域中01^9(聯(lián)機(jī)分析處理)查詢處理方法,特別是關(guān)于一種基于數(shù)組存儲(chǔ)和向量計(jì)算的適應(yīng)協(xié)處理器',包括⑶II圖形處理器和英特爾?卜1協(xié)處理器)的混合0“?查詢處理方法。

【背景技術(shù)】
[0002]性能是數(shù)據(jù)庫(kù)最重要的指標(biāo),也是數(shù)據(jù)庫(kù)研究長(zhǎng)期關(guān)注的目標(biāo)。硬件技術(shù)的飛速發(fā)展促進(jìn)了數(shù)據(jù)庫(kù)性能的提升,硬件對(duì)數(shù)據(jù)庫(kù)性能提升的推動(dòng)作用主要體現(xiàn)在兩個(gè)方面:大容量?jī)?nèi)存開始取代傳統(tǒng)的磁盤成為新的高性能數(shù)據(jù)存儲(chǔ)設(shè)備;多核及眾核協(xié)處理器(¢01)1-0068801-)提供高達(dá)幾百至幾千的并行計(jì)算資源實(shí)現(xiàn)高并行數(shù)據(jù)處理。在新的硬件技術(shù)支持下,內(nèi)存計(jì)算⑶卹此丨叩,頂0成為企業(yè)級(jí)數(shù)據(jù)處理的主流技術(shù)。但是,單純的數(shù)據(jù)存儲(chǔ)從磁盤向內(nèi)存的升級(jí)受到新的“111611101*7 ^11 (內(nèi)存墻制約,需要在多級(jí)緩存、多通道內(nèi)存訪問、多/眾核并行計(jì)算等技術(shù)的共同支持下才能充分地發(fā)揮先進(jìn)硬件的作用,提升數(shù)據(jù)庫(kù)的性能。因此,內(nèi)存計(jì)算的高性能不僅僅取決于內(nèi)存,還取決于現(xiàn)代多/眾核處理器的強(qiáng)大并行計(jì)算能力,即內(nèi)存計(jì)算需要擴(kuò)展為內(nèi)存多/眾核并行計(jì)算(111-1611101-7血11:1-/1冊(cè)7-⑶!"61110)。以附(通用圖形處理器)和1111:61 ?111 031)1X1068801'為代表的協(xié)處理器計(jì)算技術(shù)是當(dāng)前眾核并行計(jì)算的代表性技術(shù),由于其強(qiáng)大的硬件級(jí)并行計(jì)算能力和不同于通用處理器的硬件架構(gòu)使其成為新興的高性能內(nèi)存計(jì)算研究領(lǐng)域的熱點(diǎn)技術(shù)。由于1111:61 ?111 001)1X1(368801'技術(shù)較新,數(shù)據(jù)庫(kù)技術(shù)在其上的研究剛剛起步,當(dāng)前學(xué)術(shù)界的研究主要集中在0^/0^混合平臺(tái)上的關(guān)系操作優(yōu)化技術(shù),尤其是0“?(分析型查詢處理)中計(jì)算代價(jià)較高的哈希連接在上的優(yōu)化技術(shù),主要技術(shù)路線是根據(jù)與0^之間的通道數(shù)據(jù)傳輸性能、并行計(jì)算性能等相關(guān)因素對(duì)混合平臺(tái)上的查詢操作基于代價(jià)模型分析創(chuàng)建分布式查詢優(yōu)化任務(wù),提高整體01八?查詢處理性能。從關(guān)系操作符算法實(shí)現(xiàn)層面上看,上的查詢優(yōu)化技術(shù)大多屬于一種“調(diào)優(yōu)(⑶11-(30118(310118〖皿丨叩)”技術(shù),即在[01^0(36880:^端創(chuàng)建相應(yīng)的內(nèi)存數(shù)據(jù)結(jié)構(gòu),根據(jù)硬件特性優(yōu)化配置線程等參數(shù),根據(jù)存儲(chǔ)結(jié)構(gòu)特性優(yōu)化算法實(shí)現(xiàn)技術(shù)等。關(guān)系操作模型是一種迭代處理模型,需要較多的分支指令,是面向數(shù)據(jù)密集型任務(wù)而優(yōu)化設(shè)計(jì)的,而中幾百甚至幾千的流處理器能夠提供強(qiáng)大的向量計(jì)算能力,但對(duì)于復(fù)雜分支指令、迭代處理、線程間數(shù)據(jù)同步、大數(shù)據(jù)高延遲訪問等操作的效率弱于通用處理器,客觀地說,關(guān)系操作模型并不是適合向量計(jì)算特征的理想的0“?查詢處理。


【發(fā)明內(nèi)容】

[0003]針對(duì)上述問題,本發(fā)明的目的是提供一種適應(yīng)協(xié)處理器的混合01八?查詢處理方法,該方法能實(shí)現(xiàn)多維查詢處理,實(shí)現(xiàn)簡(jiǎn)單,不依賴復(fù)雜的數(shù)據(jù)結(jié)構(gòu),能有效提高大數(shù)據(jù)存儲(chǔ)效率。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種適應(yīng)協(xié)處理器的混合01八?查詢處理方法,其包括以下步驟:1)采用101八?模型將多維數(shù)據(jù)集組織為數(shù)據(jù)⑶冊(cè),每一個(gè)存儲(chǔ)單元對(duì)應(yīng)唯一的多維空間坐標(biāo),即多維數(shù)組下標(biāo);事實(shí)數(shù)據(jù)存儲(chǔ)所使用的隱式的多維數(shù)組下標(biāo),代表其在多維數(shù)組中的物理位置采用861111-101^?模型將多維數(shù)據(jù)集用邏輯多維數(shù)組建模,構(gòu)建虛擬多維數(shù)據(jù):3)采用關(guān)系存儲(chǔ)方式將事實(shí)數(shù)據(jù)壓縮存儲(chǔ),只存儲(chǔ)虛擬多維數(shù)組地址空間中實(shí)際的事實(shí)數(shù)據(jù),并附加上邏輯多維數(shù)組地址空間中各維的坐標(biāo),與如“?模型中事實(shí)表采用外鍵和度量屬性的存儲(chǔ)方式相同,區(qū)別在于虛擬數(shù)據(jù)⑶82的序列化存儲(chǔ)中的維坐標(biāo)10代表了事實(shí)數(shù)據(jù)在虛擬數(shù)據(jù)⑶冊(cè)各維上的坐標(biāo)位置;幻將!1個(gè)維坐標(biāo)10和度量屬性存儲(chǔ)為列數(shù)組,即用列數(shù)組存儲(chǔ)各事實(shí)數(shù)據(jù)屬性;低勢(shì)集的字符串類型屬性采用輕量字典表壓縮,數(shù)組中存儲(chǔ)其較短的壓縮編碼;內(nèi)存數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)采用完全的數(shù)組物理存儲(chǔ),將維表和事實(shí)表存儲(chǔ)為數(shù)組族,數(shù)組下標(biāo)用作數(shù)組間關(guān)聯(lián)訪問的索引進(jìn)行多維查詢,多維查詢是在多維數(shù)據(jù)集上按用戶指定的維或維層次抽取多維數(shù)據(jù)子集并對(duì)其進(jìn)行聚集計(jì)算的過程;在10仏?模型中為在以多維數(shù)組存儲(chǔ)的多維數(shù)據(jù)集上按維或維層次的映射以多維數(shù)組坐標(biāo)訪問數(shù)據(jù)并進(jìn)行聚集計(jì)算;在如1八?模型中將事實(shí)表和相關(guān)的維表連接后按查詢條件選擇記錄并按指定的屬性進(jìn)行分組聚集計(jì)算;在861111-101^?模型中,多維查詢包括單查詢處理過程和并發(fā)查詢處理過程,將多維查詢結(jié)果數(shù)據(jù)⑶82還原為原始分組屬性結(jié)果集。
[0005]所述步驟2)中,所述虛擬多維數(shù)據(jù)⑶冊(cè)構(gòu)建方法為:保留數(shù)據(jù)⑶冊(cè)的邏輯空間結(jié)構(gòu),將虛擬數(shù)據(jù)⑶冊(cè)中的實(shí)際事實(shí)數(shù)據(jù)進(jìn)行序列化,將其隱式的多維數(shù)組下標(biāo)序列化,將一個(gè)事實(shí)數(shù)據(jù)轉(zhuǎn)換為II個(gè)維坐標(biāo)10和度量屬性序列結(jié)構(gòu);實(shí)現(xiàn)事實(shí)數(shù)據(jù)與各個(gè)維之間所構(gòu)成的邏輯多維數(shù)組地址映射。
[0006]所述步驟5)中,所述單查詢處理過程包括以下步驟:(1)根據(jù)查詢中維表的數(shù)量動(dòng)態(tài)創(chuàng)建虛擬的II維數(shù)據(jù)⑶冊(cè),多維查詢轉(zhuǎn)換為在各維軸上的過濾條件并生成維過濾器,多維查詢中II個(gè)過濾條件語(yǔ)句定義了一個(gè)虛擬的II維數(shù)據(jù)⑶冊(cè),并根據(jù)查詢中的維表過濾及分組子句創(chuàng)建II個(gè)維過濾向量;通過定義維上的過濾器實(shí)現(xiàn)多維索引計(jì)算;(2) =維過濾:將壓縮事實(shí)數(shù)據(jù)劃分為兩個(gè)部分:維坐標(biāo)10屬性組和度量屬性組,維坐標(biāo)10屬性組用作多維索引計(jì)算,負(fù)責(zé)在虛擬數(shù)據(jù)⑶82上完成II維數(shù)據(jù)過濾;在II維過濾中對(duì)度量索引的更新過程是一個(gè)迭代計(jì)算查詢結(jié)果數(shù)據(jù)⑶82多維坐標(biāo)的過程,并生成基于位圖或向量結(jié)構(gòu)的度量索引;度量屬性組用于在度量數(shù)組中按度量索引中指示的數(shù)組下標(biāo)隨機(jī)訪問多維查詢相關(guān)的數(shù)據(jù),并根據(jù)度量索引中的多維坐標(biāo)值確定其聚集計(jì)算在所依賴的查詢結(jié)果數(shù)據(jù)⑶冊(cè)中多維數(shù)組的下標(biāo);(3)根據(jù)II維過濾所生成的度量索引訪問相應(yīng)的度量屬性值,實(shí)現(xiàn)基于數(shù)據(jù)⑶82的聚集計(jì)算;度量索引中記錄了滿足最終連接條件的事實(shí)記錄的位置和其在多維分組聚集數(shù)組中的多維坐標(biāo),實(shí)現(xiàn)對(duì)事實(shí)數(shù)據(jù)高效率的按位置隨機(jī)訪問并度量屬性值按度量索引中記錄的多維分組聚集數(shù)組的坐標(biāo)對(duì)其直接進(jìn)行聚集計(jì)算,最后,將多維查詢結(jié)果數(shù)據(jù)⑶冊(cè)通過維向量字典數(shù)組還原為原始分組屬性結(jié)果集。
[0007]所述步驟(1)中,各維上過濾器的定義依據(jù)策略如下:(I )當(dāng)維上沒有分組屬性時(shí),維過濾器簡(jiǎn)化為一個(gè)位圖,用以標(biāo)識(shí)每個(gè)維記錄位置是否滿足該維上的謂詞條件;(II )當(dāng)維上有分組屬性時(shí),將滿足過濾條件的分組屬性投影出來并建立一個(gè)數(shù)組字典表,并且以分組屬性字典表數(shù)組下標(biāo)作為值建立維過濾向量,維過濾向量預(yù)設(shè)了每一個(gè)滿足維過濾器的維表記錄在多維查詢結(jié)果數(shù)據(jù)⑶冊(cè)中當(dāng)前維度上的坐標(biāo);(III)當(dāng)維表上有多個(gè)分組屬性時(shí),將多個(gè)分組屬性組合起來作為一個(gè)超級(jí)分組屬性進(jìn)行處理,維過濾向量中記錄的值為該分組屬性組在字典表數(shù)組中的下標(biāo);(IV )當(dāng)維上沒有過濾條件而只有分組屬性時(shí),該維不參與多維過濾操作,但分組語(yǔ)句對(duì)應(yīng)的基于字典表壓縮的屬性為多維查詢結(jié)果數(shù)據(jù)提供一個(gè)聚集維度。
[0008]所述步驟5)中,所述并發(fā)查詢處理過程為上操作是完全串行執(zhí)行的;在構(gòu)建虛擬數(shù)據(jù)⑶冊(cè)、!1維過濾和聚集計(jì)算三個(gè)執(zhí)行階段,兩個(gè)執(zhí)行時(shí)間較短的維表處理和度量計(jì)算階段分解為獨(dú)立的查詢子任務(wù),由0^異步完成;不同查詢之間的三個(gè)執(zhí)行階段在⑶!!和03即0。68801~處理器上為流水并行。
[0009]本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn):1、本發(fā)明由于將多維數(shù)據(jù)集用邏輯多維數(shù)組建模,創(chuàng)建虛擬的多維數(shù)據(jù)⑶冊(cè)(立方體),實(shí)現(xiàn)事實(shí)數(shù)據(jù)與各個(gè)維之間的多維數(shù)組地址映射;事實(shí)數(shù)據(jù)采用關(guān)系存儲(chǔ)方式對(duì)事實(shí)數(shù)據(jù)進(jìn)行壓縮存儲(chǔ),只存儲(chǔ)虛擬多維數(shù)組地址空間中實(shí)際的事實(shí)數(shù)據(jù),并附加上虛擬多維數(shù)組地址空間中各維的坐標(biāo),與如1八?中事實(shí)表采用外鍵和度量屬性的存儲(chǔ)方式相同,提高大數(shù)據(jù)存儲(chǔ)效率。2、本發(fā)明由于事實(shí)數(shù)據(jù)采用列數(shù)組存儲(chǔ),將壓縮事實(shí)數(shù)據(jù)劃分為多維索引和度量數(shù)據(jù),多維索引計(jì)算是通過維坐標(biāo)地址映射到多維查詢對(duì)應(yīng)的虛擬事實(shí)數(shù)據(jù)⑶冊(cè),并生成度量數(shù)組位圖或向量用于標(biāo)識(shí)查詢對(duì)應(yīng)的多維數(shù)據(jù)集在度量屬性數(shù)組中的下標(biāo)位置的過程,實(shí)現(xiàn)基于虛擬10仏?模式的直接多維數(shù)組訪問。3、本發(fā)明是面向001)1X1(368801'數(shù)組存儲(chǔ)和向量計(jì)算特點(diǎn)而建立的01八?查詢處理方法,采用完全數(shù)組存儲(chǔ)和數(shù)組(向量)計(jì)算方式實(shí)現(xiàn)多維查詢處理,算法實(shí)現(xiàn)簡(jiǎn)單,不依賴復(fù)雜的數(shù)據(jù)結(jié)構(gòu),對(duì)于數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用中典型的星形和雪花形模型具有良好的適應(yīng)性,同時(shí)在多核處理器平臺(tái)也具有突出的性能。4、本發(fā)明采用將如“?和10“?相結(jié)合的多維查詢方法,通過虛擬數(shù)據(jù)⑶82建立了數(shù)組存儲(chǔ)和數(shù)組計(jì)算模型,消除如“?中計(jì)算復(fù)雜度較高的關(guān)系操作符,同時(shí)采用如仏?高效率的存儲(chǔ)模型解決純10仏?模型稀疏數(shù)據(jù)所造成的存儲(chǔ)空間效率低下的問題。5、本發(fā)明將一個(gè)多維查詢劃分為在不同數(shù)據(jù)集上獨(dú)立的處理階段,各階段可以異步在地異構(gòu)計(jì)算平臺(tái)上執(zhí)行,具有較好的分布式和流水并行處理能力,能夠?qū)崿F(xiàn)平臺(tái)和¢01^0(368801'平臺(tái)的協(xié)同計(jì)算,提高平臺(tái)的綜合效率和性能。本發(fā)明可以廣泛在6?11、696911(通用圖形處理器)以及新的1111:61 ?111 001)1-0068801-平臺(tái)中應(yīng)用。

【專利附圖】

【附圖說明】
[0010]圖1是本發(fā)明中10“?、861111-101^?和861111-101^?存儲(chǔ)模型示意圖;圖1⑷是101^?模型示意圖;圖1⑶是861111-101^?模型示意圖;圖1 (0是861111-101^?存儲(chǔ)模型示意圖;
[0011]圖2是本發(fā)明的基于II維過濾的0仏?查詢處理示意圖;
[0012]圖3是本發(fā)明方法在實(shí)施例中861111-101^?執(zhí)行框架示意圖;
[0013]圖4是本發(fā)明實(shí)施例中基于03即0068801~的的流水執(zhí)行框架示意圖。

【具體實(shí)施方式】
[0014]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的描述。
[0015]如圖1所示,本發(fā)明提供一種適應(yīng)協(xié)處理器的混合01八?查詢處理方法,其包括以下步驟:
[0016]1)采用10“?模型將多維數(shù)據(jù)集組織為數(shù)據(jù)⑶82,每一個(gè)存儲(chǔ)單元對(duì)應(yīng)唯一的多維空間坐標(biāo),即多維數(shù)組下標(biāo);事實(shí)數(shù)據(jù)存儲(chǔ)所使用的隱式的多維數(shù)組下標(biāo),代表其在多維數(shù)組中的物理位置。
[0017]其中,10仏?多維查詢是一個(gè)在龐大的多維數(shù)組空間中直接訪問的過程,多維數(shù)組大小對(duì)皿查詢性能影響不大,主要取決于內(nèi)存隨機(jī)訪問性能。例如,在現(xiàn)實(shí)的企業(yè)級(jí)數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用中,數(shù)據(jù)⑶冊(cè)通常非常稀疏,如圖1 (八)所示,其中三個(gè)維上4 X 4 X 4的多維空間中只有7個(gè)實(shí)際數(shù)據(jù),數(shù)據(jù)存儲(chǔ)效率非常低,而且數(shù)據(jù)⑶冊(cè)決定了數(shù)據(jù)的物理存儲(chǔ)位置,一旦維發(fā)生改變,則需要對(duì)數(shù)據(jù)⑶冊(cè)進(jìn)行重構(gòu)。
[0018]2)如圖1(8)所示,采用86--101^?模型(準(zhǔn)多維0仏?模型)將多維數(shù)據(jù)集用邏輯多維數(shù)組建模,構(gòu)建虛擬多維數(shù)據(jù)0^82);
[0019]虛擬多維數(shù)據(jù)⑶冊(cè)構(gòu)建方法為:保留數(shù)據(jù)⑶82的邏輯空間結(jié)構(gòu),將虛擬數(shù)據(jù)0^82中的實(shí)際事實(shí)數(shù)據(jù)進(jìn)行序列化,將其隱式的多維數(shù)組下標(biāo)序列化,將一個(gè)事實(shí)數(shù)據(jù)轉(zhuǎn)換為II個(gè)維坐標(biāo)10和度量屬性序列結(jié)構(gòu);維坐標(biāo)10列實(shí)現(xiàn)事實(shí)數(shù)據(jù)與各個(gè)維之間所構(gòu)成的邏輯多維數(shù)組地址映射。
[0020]3)事實(shí)數(shù)據(jù)并不真正存儲(chǔ)在巨大的多維數(shù)組地址空間中,而是采用關(guān)系存儲(chǔ)方式將事實(shí)數(shù)據(jù)壓縮存儲(chǔ),只存儲(chǔ)虛擬多維數(shù)組地址空間中實(shí)際的事實(shí)數(shù)據(jù),并附加上邏輯多維數(shù)組地址空間中各維的坐標(biāo),與如“? ¢61^101181 01^?,關(guān)系聯(lián)機(jī)分析處理)模型中事實(shí)表采用外鍵和度量屬性的存儲(chǔ)方式相同,區(qū)別在于如仏?模型中的事實(shí)表外鍵屬性只需要滿足關(guān)系數(shù)據(jù)庫(kù)的主-外鍵參照完整性約束條件即可,而虛擬數(shù)據(jù)⑶82的序列化存儲(chǔ)中的維坐標(biāo)10則代表了事實(shí)數(shù)據(jù)在虛擬數(shù)據(jù)⑶冊(cè)各維上的坐標(biāo)位置,既符合如“?模型中主-外鍵參照完整性約束關(guān)系,又滿足了顯模型中事實(shí)數(shù)據(jù)與各維的空間位置映射關(guān)系。這樣的規(guī)則可以提高大數(shù)據(jù)存儲(chǔ)和訪問效率。
[0021]由于虛擬數(shù)據(jù)⑶冊(cè)中的事實(shí)數(shù)據(jù)序列化沒有特殊的要求,因此不需要參照多維坐標(biāo)軸的順序(如2-01x1610等限制條件,在實(shí)際應(yīng)中首先需要將維表映射為虛擬數(shù)據(jù)⑶冊(cè)的多個(gè)維軸,事實(shí)數(shù)據(jù)遵循數(shù)據(jù)的物理存儲(chǔ)順序即可。
[0022]4)為提高多維數(shù)據(jù)訪問性能,將II個(gè)維坐標(biāo)10和度量屬性存儲(chǔ)為列數(shù)組,即用列數(shù)組存儲(chǔ)各事實(shí)數(shù)據(jù)屬性;低勢(shì)集的字符串類型屬性采用輕量字典表壓縮,數(shù)組中存儲(chǔ)其較短的壓縮編碼。內(nèi)存數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)采用完全的數(shù)組物理存儲(chǔ),將維表和事實(shí)表存儲(chǔ)為數(shù)組族17),數(shù)組下標(biāo)用作數(shù)組間關(guān)聯(lián)訪問的索引。
[0023]5)進(jìn)行多維查詢,多維查詢(11111:11)16 011116118101181是在多維數(shù)據(jù)集上按用戶指定的維或維層次抽取多維數(shù)據(jù)子集并對(duì)其進(jìn)行聚集計(jì)算的過程。在101^?模型中表現(xiàn)為在以多維數(shù)組存儲(chǔ)的多維數(shù)據(jù)集上按維或維層次的映射以多維數(shù)組坐標(biāo)訪問數(shù)據(jù)并進(jìn)行聚集計(jì)算;在如1^?模型中表現(xiàn)為將多維查詢轉(zhuǎn)換為3亂命令,將事實(shí)表和相關(guān)的維表連接后按查詢條件選擇記錄并按指定的屬性進(jìn)行分組聚集計(jì)算。在861111-101^?模型中,多維查詢包括單查詢處理過程和并發(fā)查詢處理過程。其中,單查詢處理過程包括以下步驟:
[0024](1)構(gòu)建虛擬數(shù)據(jù)⑶冊(cè)。根據(jù)查詢中維表的數(shù)量動(dòng)態(tài)創(chuàng)建虛擬的II維數(shù)據(jù)⑶冊(cè),多維查詢轉(zhuǎn)換為在各維軸上的過濾條件并生成維過濾器,多維查詢中II個(gè)維上的過濾條件語(yǔ)句定義了一個(gè)虛擬的II維數(shù)據(jù)⑶冊(cè),并根據(jù)查詢中的維表過濾及分組子句創(chuàng)建II個(gè)維過濾向量;通過定義維上的過濾器實(shí)現(xiàn)多維索引計(jì)算,各維上過濾器的定義依據(jù)如下策略:
[0025]( I )當(dāng)維上沒有分組屬性時(shí),維過濾器(05111:610簡(jiǎn)化為一個(gè)位圖(化飽叩),用以標(biāo)識(shí)每個(gè)維記錄位置是否滿足該維上的謂詞條件,滿足謂詞條件的維過濾位圖位置設(shè)置為1,否則為0 ;
[0026]( II )當(dāng)維上有分組屬性時(shí),將滿足過濾條件的分組屬性投影出來并建立一個(gè)數(shù)組字典表,并且以分組屬性字典表數(shù)組下標(biāo)011個(gè)成員的字典表數(shù)組下標(biāo)映射為作為值建立維過濾向量(滿足謂詞條件的維過濾向量位置取值為分組屬性字典表數(shù)組下標(biāo),否則置為-1),維過濾向量預(yù)設(shè)了每一個(gè)滿足維過濾器的維表記錄在多維查詢結(jié)果數(shù)據(jù)⑶82中當(dāng)前維度上的坐標(biāo);
[0027](III)當(dāng)維表上有多個(gè)分組屬性時(shí),將多個(gè)分組屬性組合起來作為一個(gè)超級(jí)分組屬性進(jìn)行處理,維過濾向量中記錄的值為該分組屬性組在字典表數(shù)組中的下標(biāo);
[0028]( IV )當(dāng)維上沒有過濾條件而只有分組屬性時(shí),該維不參與多維過濾操作,但分組語(yǔ)句對(duì)應(yīng)的基于字典表壓縮的屬性為多維查詢結(jié)果數(shù)據(jù)^82提供一個(gè)聚集維度。
[0029](2)=維過濾。如圖1(0所示,將壓縮事實(shí)數(shù)據(jù)進(jìn)一步劃分為兩個(gè)部分:維坐標(biāo)10屬性組和度量屬性組,維坐標(biāo)10屬性組用作多維索引計(jì)算,負(fù)責(zé)在虛擬數(shù)據(jù)⑶冊(cè)上完成II維數(shù)據(jù)過濾。在維過濾向量構(gòu)建階段已經(jīng)按查詢中的分組屬性預(yù)構(gòu)建了查詢結(jié)果數(shù)據(jù)⑶冊(cè)的各個(gè)維,并將維下標(biāo)記錄在維過濾向量中作為分組聚集多維數(shù)組在各個(gè)維上的坐標(biāo)分量。在維過濾中對(duì)度量索引的更新過程是一個(gè)迭代計(jì)算查詢結(jié)果數(shù)據(jù)⑶冊(cè)多維坐標(biāo)的過程,并生成基于位圖或向量結(jié)構(gòu)的度量索引;度量屬性組用于在度量數(shù)組中按度量索引中指示的數(shù)組下標(biāo)隨機(jī)訪問多維查詢相關(guān)的數(shù)據(jù),并根據(jù)度量索引中的多維坐標(biāo)值確定其聚集計(jì)算在所依賴的多維數(shù)組(查詢結(jié)果數(shù)據(jù)⑶冊(cè))中的下標(biāo)。通過這種數(shù)據(jù)劃分,多維查詢可以分解為在較小的維坐標(biāo)10屬性組上計(jì)算密集型的多維過濾操作和在較大的度量屬性組上數(shù)據(jù)密集型的聚集計(jì)算兩個(gè)處理階段,使兩個(gè)處理階段分別適合于¢01^0(36880:^較小內(nèi)存上的高性能并行計(jì)算和較大內(nèi)存上的高性能隨機(jī)數(shù)據(jù)訪問,實(shí)現(xiàn)¢01^0(36880:^與在數(shù)據(jù)和計(jì)算上的協(xié)同處理。
[0030]⑶聚集計(jì)算。根據(jù)II維過濾所生成的度量索引16218111*6訪問相應(yīng)的度量屬性值,實(shí)現(xiàn)基于數(shù)據(jù)⑶82的聚集計(jì)算。度量索引中記錄了滿足最終連接條件的事實(shí)記錄的位置和其在多維分組聚集數(shù)組中的多維坐標(biāo),可以實(shí)現(xiàn)對(duì)事實(shí)數(shù)據(jù)高效率的按位置隨機(jī)訪問,并且對(duì)度量屬性值按度量索引中記錄的多維分組聚集數(shù)組的坐標(biāo)對(duì)其直接進(jìn)行聚集計(jì)算,最后,將多維查詢結(jié)果數(shù)據(jù)⑶冊(cè)通過維向量字典數(shù)組還原為原始分組屬性結(jié)果集。
[0031]例如:如圖2所示,首先根據(jù)維表上的過濾條件投影出相應(yīng)的分組屬性(或分組屬性組),然后為其建立分組屬性字典表并將其字典編碼寫入維過濾向量對(duì)應(yīng)的位置。維10數(shù)組(?)首先在維過濾器上進(jìn)行過濾,并將過濾結(jié)果記錄在度量索引(16381^6111(161)中,然后根據(jù)度量索引中指示的數(shù)組位置訪問維10數(shù)組02并在維過濾器0?11七61~2上進(jìn)行過濾,同時(shí)更新度量索引中滿足當(dāng)前過濾條件的數(shù)組位置,當(dāng)完成維10數(shù)組(09在維過濾器0?11^1~3上的過濾操作后,度量索引構(gòu)造了滿足當(dāng)前多維查詢條件的度量數(shù)據(jù)數(shù)組坐標(biāo)集合,由于多維查詢的選擇率通常非常低,根據(jù)度量索引按位置訪問數(shù)據(jù)量較大的度量數(shù)據(jù)和聚集計(jì)算可以高效地執(zhí)行。
[0032]實(shí)施例:
[0033]如圖3所示,按?:0131~0068801~內(nèi)存大小將內(nèi)存數(shù)據(jù)集中事實(shí)表維10列的全部或[01^0(368801內(nèi)存可以容納的最大水平分片復(fù)制到¢01^0(368801內(nèi)存,構(gòu)建多維索引加速器。由⑶口創(chuàng)建查詢相關(guān)的維過濾向量,通過?016通道傳輸?shù)絻?nèi)存;¢01)1-0068801-根據(jù)維過濾向量完成基于(^01^0(368801高并行處理線程的并行多維索引計(jì)算,事實(shí)表10列在維表過濾向量的過濾操作過程中迭代地計(jì)算出多維查詢結(jié)果數(shù)據(jù)⑶冊(cè)的多維數(shù)組坐標(biāo),生成度量索引向量;當(dāng)度量索引向量具有較低的選擇率時(shí),可以對(duì)其進(jìn)行壓縮以減少傳輸代價(jià),然后再將度量索引向量通過?016通道傳輸回內(nèi)存,由0^完成對(duì)度量屬性的隨機(jī)訪問和根據(jù)維過濾向量構(gòu)建的查詢結(jié)果數(shù)據(jù)⑶冊(cè)上的聚集計(jì)算;最后通過在維過濾向量生成階段創(chuàng)建的分組字典表對(duì)查詢結(jié)果數(shù)據(jù)⑶82解碼,還原為標(biāo)準(zhǔn)的查詢輸出結(jié)果。
[0034]上述步驟5)中,并發(fā)查詢處理過程如下:對(duì)于多個(gè)查詢并發(fā)處理過程,¢01)1-0068801-上操作是完全串行執(zhí)行的。在構(gòu)建虛擬數(shù)據(jù)0182、11維過濾和聚集計(jì)算三個(gè)執(zhí)行階段中,兩個(gè)執(zhí)行時(shí)間較短的維表處理和度量計(jì)算階段可以分解為獨(dú)立的查詢子任務(wù),由⑶口異步完成。不同查詢之間的三個(gè)執(zhí)行階段在⑶口和(?即0(36880^處理器上可以流水并行。
[0035]例如:如圖4所示,顯示了基于的861111-101^?的流水執(zhí)行框架。查詢?cè)趫?zhí)行時(shí)%的維表處理和%的度量計(jì)算階段可以流水并行地在⑶口上執(zhí)行。將查詢分解為三個(gè)獨(dú)立的處理過程,每個(gè)過程只依賴于獨(dú)立的向量數(shù)據(jù)結(jié)構(gòu),與03即0068801'平臺(tái)上的計(jì)算采用的是異步執(zhí)行方式,最小化的等待時(shí)間。
[0036]綜上所述,在本發(fā)明中,¢01^0(36880:^內(nèi)存被最大限度利用,001)1*0(368801'并行計(jì)算資源被最大化利用,因此在多個(gè)查詢處理過程中⑶8801'上是完全串行執(zhí)行。本發(fā)明采用的處理方法是一個(gè)松耦合的基于數(shù)據(jù)交換的執(zhí)行框架,維表處理階段可以采用已有的內(nèi)存數(shù)據(jù)庫(kù)作為維表查詢處理引擎,負(fù)責(zé)復(fù)雜數(shù)據(jù)類型的存儲(chǔ)、壓縮、更新等數(shù)據(jù)庫(kù)通用功能,不需要完全自主開發(fā),只需要提供輸出維過濾向量的仙I即可。0)1^0⑶8801'多維索引計(jì)算和度量聚集計(jì)算是完全基于數(shù)值型數(shù)組的計(jì)算過程,數(shù)據(jù)管理和計(jì)算模型簡(jiǎn)單,易于多核⑶!!和¢01^0(36880:^平臺(tái)上的并行計(jì)算,適合⑶II以及1111:61 ?111協(xié)處理器計(jì)算平臺(tái)等通過通道連接的高性能計(jì)算硬件,是一種高可擴(kuò)展的眾核高并行算法。
[0037]上述各實(shí)施例僅用于說明本發(fā)明,其中各部件的結(jié)構(gòu)、連接方式和制作工藝等都是可以有所變化的,凡是在本發(fā)明技術(shù)方案的基礎(chǔ)上進(jìn)行的等同變換和改進(jìn),均不應(yīng)排除在本發(fā)明的保護(hù)范圍之外。
【權(quán)利要求】
1.一種適應(yīng)協(xié)處理器的混合OLAP查詢處理方法,其包括以下步驟: 1)采用MOLAP模型將多維數(shù)據(jù)集組織為數(shù)據(jù)CUBE,每一個(gè)存儲(chǔ)單元對(duì)應(yīng)唯一的多維空間坐標(biāo),即多維數(shù)組下標(biāo);事實(shí)數(shù)據(jù)存儲(chǔ)所使用的隱式的多維數(shù)組下標(biāo),代表其在多維數(shù)組中的物理位置; 2)采用sem1-MOLAP模型將多維數(shù)據(jù)集用邏輯多維數(shù)組建模,構(gòu)建虛擬多維數(shù)據(jù)CUBE ; 3)采用關(guān)系存儲(chǔ)方式將事實(shí)數(shù)據(jù)壓縮存儲(chǔ),只存儲(chǔ)虛擬多維數(shù)組地址空間中實(shí)際的事實(shí)數(shù)據(jù),并附加上邏輯多維數(shù)組地址空間中各維的坐標(biāo),與ROLAP模型中事實(shí)表采用外鍵和度量屬性的存儲(chǔ)方式相同,區(qū)別在于虛擬數(shù)據(jù)CUBE的序列化存儲(chǔ)中的維坐標(biāo)ID代表了事實(shí)數(shù)據(jù)在虛擬數(shù)據(jù)CUBE各維上的坐標(biāo)位置; 4)將η個(gè)維坐標(biāo)ID和度量屬性存儲(chǔ)為列數(shù)組,即用列數(shù)組存儲(chǔ)各事實(shí)數(shù)據(jù)屬性;低勢(shì)集的字符串類型屬性采用輕量字典表壓縮,數(shù)組中存儲(chǔ)其較短的壓縮編碼;內(nèi)存數(shù)據(jù)庫(kù)和Coprocessor數(shù)據(jù)庫(kù)采用完全的數(shù)組物理存儲(chǔ),將維表和事實(shí)表存儲(chǔ)為數(shù)組族,數(shù)組下標(biāo)用作數(shù)組間關(guān)聯(lián)訪問的索引; 5)進(jìn)行多維查詢,多維查詢是在多維數(shù)據(jù)集上按用戶指定的維或維層次抽取多維數(shù)據(jù)子集并對(duì)其進(jìn)行聚集計(jì)算的過程;在MOLAP模型中為在以多維數(shù)組存儲(chǔ)的多維數(shù)據(jù)集上按維或維層次的映射以多維數(shù)組坐標(biāo)訪問數(shù)據(jù)并進(jìn)行聚集計(jì)算;在ROLAP模型中將事實(shí)表和相關(guān)的維表連接后按查詢條件選擇記錄并按指定的屬性進(jìn)行分組聚集計(jì)算;在sem1-MOLAP模型中,多維查詢包括單查詢處理過程和并發(fā)查詢處理過程,將多維查詢結(jié)果數(shù)據(jù)CUBE還原為原始分組屬性結(jié)果集。
2.如權(quán)利要求1所述的一種適應(yīng)協(xié)處理器的混合OLAP查詢處理方法,其特征在于:所述步驟2)中,所述虛擬多維數(shù)據(jù)CUBE構(gòu)建方法為:保留數(shù)據(jù)CUBE的邏輯空間結(jié)構(gòu),將虛擬數(shù)據(jù)CUBE中的實(shí)際事實(shí)數(shù)據(jù)進(jìn)行序列化,將其隱式的多維數(shù)組下標(biāo)序列化,將一個(gè)事實(shí)數(shù)據(jù)轉(zhuǎn)換為η個(gè)維坐標(biāo)ID和度量屬性序列結(jié)構(gòu);實(shí)現(xiàn)事實(shí)數(shù)據(jù)與各個(gè)維之間所構(gòu)成的邏輯多維數(shù)組地址映射。
3.如權(quán)利要求1或2所述的一種適應(yīng)協(xié)處理器的混合OLAP查詢處理方法,其特征在于:所述步驟5)中,所述單查詢處理過程包括以下步驟: (1)根據(jù)查詢中維表的數(shù)量動(dòng)態(tài)創(chuàng)建虛擬的η維數(shù)據(jù)CUBE,多維查詢轉(zhuǎn)換為在各維軸上的過濾條件并生成維過濾器,多維查詢中η個(gè)過濾條件語(yǔ)句定義了一個(gè)虛擬的η維數(shù)據(jù)CUBE,并根據(jù)查詢中的維表過濾及分組子句創(chuàng)建η個(gè)維過濾向量;通過定義維上的過濾器實(shí)現(xiàn)多維索引計(jì)算; (2)η維過濾:將壓縮事實(shí)數(shù)據(jù)劃分為兩個(gè)部分:維坐標(biāo)ID屬性組和度量屬性組,維坐標(biāo)ID屬性組用作多維索引計(jì)算,負(fù)責(zé)在虛擬數(shù)據(jù)CUBE上完成η維數(shù)據(jù)過濾;在η維過濾中對(duì)度量索引的更新過程是一個(gè)迭代計(jì)算查詢結(jié)果數(shù)據(jù)CUBE多維坐標(biāo)的過程,并生成基于位圖或向量結(jié)構(gòu)的度量索引;度量屬性組用于在度量數(shù)組中按度量索引中指示的數(shù)組下標(biāo)隨機(jī)訪問多維查詢相關(guān)的數(shù)據(jù),并根據(jù)度量索引中的多維坐標(biāo)值確定其聚集計(jì)算在所依賴的查詢結(jié)果數(shù)據(jù)CUBE中多維數(shù)組的下標(biāo); (3)根據(jù)η維過濾所生成的度量索引訪問相應(yīng)的度量屬性值,實(shí)現(xiàn)基于數(shù)據(jù)CUBE的聚集計(jì)算;度量索引中記錄了滿足最終連接條件的事實(shí)記錄的位置和其在多維分組聚集數(shù)組中的多維坐標(biāo),實(shí)現(xiàn)對(duì)事實(shí)數(shù)據(jù)高效率的按位置隨機(jī)訪問并度量屬性值按度量索引中記錄的多維分組聚集數(shù)組的坐標(biāo)對(duì)其直接進(jìn)行聚集計(jì)算,最后,將多維查詢結(jié)果數(shù)據(jù)CUBE通過維向量字典數(shù)組還原為原始分組屬性結(jié)果集。
4.如權(quán)利要求3所述的一種適應(yīng)協(xié)處理器的混合OLAP查詢處理方法,其特征在于:所述步驟(I)中,各維上過濾器的定義依據(jù)策略如下: (I )當(dāng)維上沒有分組屬性時(shí),維過濾器簡(jiǎn)化為一個(gè)位圖,用以標(biāo)識(shí)每個(gè)維記錄位置是否滿足該維上的謂詞條件; (II )當(dāng)維上有分組屬性時(shí),將滿足過濾條件的分組屬性投影出來并建立一個(gè)數(shù)組字典表,并且以分組屬性字典表數(shù)組下標(biāo)作為值建立維過濾向量,維過濾向量預(yù)設(shè)了每一個(gè)滿足維過濾器的維表記錄在多維查詢結(jié)果數(shù)據(jù)CUBE中當(dāng)前維度上的坐標(biāo); (III)當(dāng)維表上有多個(gè)分組屬性時(shí),將多個(gè)分組屬性組合起來作為一個(gè)超級(jí)分組屬性進(jìn)行處理,維過濾向量中記錄的值為該分組屬性組在字典表數(shù)組中的下標(biāo); (IV )當(dāng)維上沒有過濾條件而只有分組屬性時(shí),該維不參與多維過濾操作,但分組語(yǔ)句對(duì)應(yīng)的基于字典表壓縮的屬性為多維查詢結(jié)果數(shù)據(jù)CUBE提供一個(gè)聚集維度。
5.如權(quán)利要求1或2所述的一種適應(yīng)協(xié)處理器的混合OLAP查詢處理方法,其特征在于:所述步驟5)中,所述并發(fā)查詢處理過程為fop1cessor上操作是完全串行執(zhí)行的;在構(gòu)建虛擬數(shù)據(jù)CUBE、η維過濾和聚集計(jì)算三個(gè)執(zhí)行階段,兩個(gè)執(zhí)行時(shí)間較短的維表處理和度量計(jì)算階段分解為獨(dú)立的查詢子任務(wù),由CPU異步完成;不同查詢之間的三個(gè)執(zhí)行階段在CPU和Coprocessor處理器上為流水并行。
【文檔編號(hào)】G06F17/30GK104361118SQ201410720029
【公開日】2015年2月18日 申請(qǐng)日期:2014年12月1日 優(yōu)先權(quán)日:2014年12月1日
【發(fā)明者】張延松, 張宇, 王珊 申請(qǐng)人:中國(guó)人民大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1