欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向數(shù)據(jù)庫一體機(jī)的內(nèi)存數(shù)據(jù)倉庫查詢處理實(shí)現(xiàn)方法與流程

文檔序號(hào):12667356閱讀:313來源:國知局
一種面向數(shù)據(jù)庫一體機(jī)的內(nèi)存數(shù)據(jù)倉庫查詢處理實(shí)現(xiàn)方法與流程

本發(fā)明涉及一種數(shù)據(jù)倉庫實(shí)現(xiàn)方法,特別是關(guān)于一種面向數(shù)據(jù)庫一體機(jī)的內(nèi)存數(shù)據(jù)倉庫查詢處理實(shí)現(xiàn)方法。



背景技術(shù):

數(shù)據(jù)庫一體機(jī)是一種面向數(shù)據(jù)庫大數(shù)據(jù)存儲(chǔ)和高性能查詢處理應(yīng)用特點(diǎn)而設(shè)計(jì)的軟、硬件一體化設(shè)計(jì)解決方案。在硬件設(shè)計(jì)方面,數(shù)據(jù)庫一體機(jī)通常是以機(jī)柜為單位的服務(wù)器集群架構(gòu),通過內(nèi)置的高速網(wǎng)絡(luò)和服務(wù)器集群提供可擴(kuò)展性的大數(shù)據(jù)存儲(chǔ)和處理能力。在機(jī)柜內(nèi)提供不同的服務(wù)器集群規(guī)模擴(kuò)展能力,并以機(jī)柜為單位實(shí)現(xiàn)橫向擴(kuò)展;數(shù)據(jù)庫一體機(jī)通常采用小規(guī)模的高性能計(jì)算服務(wù)器集群用于復(fù)雜查詢處理服務(wù)和大規(guī)模低端存儲(chǔ)服務(wù)器集群用于大數(shù)據(jù)存儲(chǔ)服務(wù),是一種不對(duì)稱的服務(wù)器集群架構(gòu);數(shù)據(jù)庫一體機(jī)通常采用特殊的硬件加速其存儲(chǔ)訪問及查詢處理性能,如Oracle Exadata數(shù)據(jù)庫一體機(jī)采用大容量PCI-e閃存緩存磁盤數(shù)據(jù),提高數(shù)據(jù)訪問性能,IBM Netezza使用現(xiàn)場可編程門陣列FPGA作為專用的數(shù)據(jù)庫加速卡,用于處理計(jì)算代價(jià)較大的解壓縮、投影、過濾等簡單操作,而多核CPU則處理較為復(fù)雜的聚合、連接、匯總等操作。在軟件方面,數(shù)據(jù)庫系統(tǒng)需要面向數(shù)據(jù)庫一體機(jī)特殊的硬件架構(gòu)優(yōu)化軟件設(shè)計(jì),如優(yōu)化數(shù)據(jù)分布存儲(chǔ)策略,優(yōu)化面向不對(duì)稱集群的查詢處理策略,優(yōu)化面向新型閃存設(shè)備及新型加速卡設(shè)備(如FPGA、GPU、Intel MIC Phi等)的查詢優(yōu)化技術(shù)。

數(shù)據(jù)倉庫是數(shù)據(jù)庫一體機(jī)最重要的應(yīng)用領(lǐng)域,隨著新型存儲(chǔ)和處理器技術(shù)的發(fā)展,內(nèi)存數(shù)據(jù)倉庫正逐漸成為新興的實(shí)時(shí)OLAP分析處理平臺(tái),面向數(shù)據(jù)庫一體機(jī)架構(gòu)的內(nèi)存數(shù)據(jù)倉庫能夠更好地滿足大數(shù)據(jù)實(shí)時(shí)OLAP應(yīng)用需求。當(dāng)前的內(nèi)存數(shù)據(jù)倉庫技術(shù)主要面向同構(gòu)服務(wù)器集群的硬件架構(gòu),在面向不對(duì)稱服務(wù)器集群及新型存儲(chǔ)、計(jì)算設(shè)備等方面的優(yōu)化技術(shù)研究還不成熟。因此,如何針對(duì)性地面向內(nèi)存數(shù)據(jù)倉庫一體機(jī)架構(gòu)的特點(diǎn),以及新型存儲(chǔ)及計(jì)算設(shè)備的特點(diǎn)而系統(tǒng)地設(shè)計(jì)內(nèi)存OLAP查詢處理技術(shù)框架成為目前亟需解決的技術(shù)問題:其關(guān)鍵問題是如何適應(yīng)內(nèi)存數(shù)據(jù)倉庫一體機(jī)的硬件架構(gòu)特點(diǎn),充分發(fā)揮內(nèi)存數(shù)據(jù)倉庫一體機(jī)的硬件性能優(yōu)勢,提高內(nèi)存OLAP的整體性能。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)上述問題,本發(fā)明的目的是提供一種面向數(shù)據(jù)庫一體機(jī)的內(nèi)存數(shù)據(jù)倉庫查詢處理實(shí)現(xiàn)方法,該方法能適應(yīng)內(nèi)存數(shù)據(jù)倉庫一體機(jī)不對(duì)稱硬件架構(gòu)下的內(nèi)存OLAP性能加速需求,充分發(fā)揮內(nèi)存數(shù)據(jù)倉庫一體機(jī)的硬件性能優(yōu)勢,提高內(nèi)存OLAP的整體性能。

為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種面向數(shù)據(jù)庫一體機(jī)的內(nèi)存數(shù)據(jù)倉庫查詢處理實(shí)現(xiàn)方法,其特征在于包括以下步驟:1)構(gòu)建內(nèi)存數(shù)據(jù)倉庫存儲(chǔ)模型;2)構(gòu)建內(nèi)存數(shù)據(jù)倉庫一體機(jī)分布式存儲(chǔ)模型;3)高性能計(jì)算服務(wù)器集群數(shù)據(jù)更新策略:當(dāng)高性能計(jì)算服務(wù)器集群內(nèi)存容量不足時(shí),采用循環(huán)隊(duì)列更新策略淘汰最久的數(shù)據(jù),更新為最新的數(shù)據(jù);4)實(shí)現(xiàn)內(nèi)存數(shù)據(jù)倉庫一體機(jī)OLAP查詢處理。

所述步驟1)中,內(nèi)存數(shù)據(jù)倉庫存儲(chǔ)模型采用融合的多維關(guān)系OLAP模型,多維關(guān)系OLAP模型構(gòu)建過程如下:1.1)邏輯數(shù)據(jù)模型:將數(shù)據(jù)倉庫的多維數(shù)據(jù)集結(jié)構(gòu)劃分為維度、多維索引和度量三種數(shù)據(jù)結(jié)構(gòu);1.2)物理數(shù)據(jù)模型:維度存儲(chǔ)為維表和維向量,維表采用行存儲(chǔ)或列存儲(chǔ)數(shù)據(jù)庫引擎,維向量以數(shù)組結(jié)構(gòu)表示維度,數(shù)組下標(biāo)映射為維度坐標(biāo);多維索引采用列存儲(chǔ)模型;度量存儲(chǔ)為事實(shí)表,采用列存儲(chǔ);1.3)多維OLAP查詢模型包括維映射、多維索引計(jì)算和聚合計(jì)算三個(gè)處理階段。

所述步驟1.3)中,具體處理過程為:1.3.1)維映射:將OLAP查詢映射到相關(guān)維表,生成維向量,維向量中的非空值標(biāo)識(shí)當(dāng)前OLAP查詢對(duì)應(yīng)的多維數(shù)據(jù)子集在各相關(guān)維度上的分量值;1.3.2)多維索引計(jì)算:將多維索引映射到相應(yīng)的維向量實(shí)現(xiàn)對(duì)度量數(shù)據(jù)的多維過濾,并創(chuàng)建向量索引,標(biāo)識(shí)滿足當(dāng)前OLAP查詢的多維索引項(xiàng),向量索引中的非空值代表OLAP查詢分組屬性所構(gòu)造的聚合數(shù)據(jù)立方體的多維地址;通過多維過濾獲得滿足OLAP查詢條件數(shù)據(jù)的度量數(shù)據(jù)集合,為度量數(shù)據(jù)創(chuàng)建向量索引;1.3.3)聚合計(jì)算:度量數(shù)據(jù)基于向量索引完成分組聚集計(jì)算。

所述步驟2)中,內(nèi)存數(shù)據(jù)倉庫一體機(jī)分布式存儲(chǔ)模型采用以下兩種分布式存儲(chǔ)策略:2.1)維表、多維索引集中存儲(chǔ),事實(shí)表分布存儲(chǔ)策略;2.2)維表集中存儲(chǔ),多維索引、事實(shí)表分布存儲(chǔ)策略。

所述步驟2.1)中,具體存儲(chǔ)策略如下:2.1.1)較小的維表集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群;當(dāng)計(jì)算集群配置較高時(shí),內(nèi)存數(shù)據(jù)倉庫的多維索引集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群節(jié)點(diǎn);2.1.2)龐大的事實(shí)表數(shù)據(jù)采用水平分片方式分布存儲(chǔ)于存儲(chǔ)服務(wù)集群節(jié)點(diǎn)上;2.1.3)多維計(jì)算生成的向量索引傳輸?shù)较鄳?yīng)的存儲(chǔ)服務(wù)器集群節(jié)點(diǎn),完成聚合計(jì)算。

所述步驟2.2)中,具體存儲(chǔ)策略為:當(dāng)高性能計(jì)算服務(wù)器集群內(nèi)存容量相對(duì)存儲(chǔ)服務(wù)集群內(nèi)存容量較小且無法存儲(chǔ)內(nèi)存數(shù)據(jù)倉庫全部的多維索引數(shù)據(jù)時(shí),采用維表集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群,多維索引和事實(shí)表采用水平分片方式分布地存儲(chǔ)于高性能計(jì)算服務(wù)器集群和存儲(chǔ)服務(wù)器集群中。

所述步驟4)中,具體的內(nèi)存OLAP查詢處理方法如下:4.1)OLAP查詢在高性能計(jì)算服務(wù)器集群執(zhí)行,OLAP查詢命令分解為相關(guān)維表上的維向量生成命令,過濾維表記錄,投影出分組屬性并對(duì)分組屬性進(jìn)行字典編碼,以字典表編碼作為維表記錄對(duì)應(yīng)的維向量單元值,不滿足過濾條件的維表記錄對(duì)應(yīng)的維向量單元置為空值,創(chuàng)建OLAP查詢相關(guān)的各維向量;4.2)采用多維索引集中存儲(chǔ),事實(shí)表分布存儲(chǔ)策略時(shí),多維索引按事實(shí)表物理分片進(jìn)行邏輯分片;4.3)采用多維索引、事實(shí)表分布存儲(chǔ)策略時(shí),每個(gè)服務(wù)器節(jié)點(diǎn)保存完整的多維索引和事實(shí)數(shù)據(jù)分片,各服務(wù)器節(jié)點(diǎn)從高性能計(jì)算服務(wù)器集群下載維向量到本地節(jié)點(diǎn),完成本地化的OLAP計(jì)算;4.4)當(dāng)服務(wù)器節(jié)點(diǎn)配置有眾核協(xié)處理器加速卡時(shí),采用協(xié)處理器加速卡加速多維索引計(jì)算方法;4.5)在存儲(chǔ)服務(wù)器節(jié)點(diǎn)端,當(dāng)內(nèi)存容量小于數(shù)據(jù)分片時(shí),采用優(yōu)化策略一完成多維索引計(jì)算。

所述步驟4.2)中,OLAP查詢包括以下三個(gè)步驟:4.2.1)多維索引根據(jù)OLAP查詢生成的維向量進(jìn)行多維過濾計(jì)算,生成相應(yīng)的向量索引,向量索引中的空值單元用于過濾事實(shí)表記錄,非空值代表事實(shí)表記錄在OLAP查詢中的分組編碼;當(dāng)多維索引在OLAP查詢相關(guān)維向量映射的位置取值均為非空時(shí),將相關(guān)維向量映射值對(duì)應(yīng)的分組數(shù)據(jù)立方體多維坐標(biāo)轉(zhuǎn)換為一維坐標(biāo)存儲(chǔ)在向量索引對(duì)應(yīng)的單元中;4.2.2)將創(chuàng)建的向量索引按邏輯分片發(fā)送到存儲(chǔ)服務(wù)器集群相應(yīng)的節(jié)點(diǎn)上,通過向量索引過濾度量列,并進(jìn)行聚合計(jì)算;4.2.3)存儲(chǔ)服務(wù)器集群節(jié)點(diǎn)上的聚合結(jié)果傳輸回高性能計(jì)算服務(wù)器集群進(jìn)行全局聚合結(jié)果歸并操作,獲得全局聚合結(jié)果,并將聚合結(jié)果對(duì)應(yīng)的分組數(shù)據(jù)立方體的多維坐標(biāo)映射到各維向量分組字典表,轉(zhuǎn)換為分組屬性,輸出OLAP查詢處理結(jié)果。

所述步驟4.4)中,具體步驟如下:4.4.1)按照協(xié)處理器加速卡內(nèi)存容量對(duì)多維索引和向量索引進(jìn)行劃分,按最大化協(xié)處理器加速卡內(nèi)存利用率的原則分配適合協(xié)處理器加速卡內(nèi)存容量的最大分片,并復(fù)制到協(xié)處理器加速卡內(nèi)存;4.4.2)查詢執(zhí)行時(shí),將維向量復(fù)制到協(xié)處理器加速卡內(nèi)存,通過協(xié)處理器加速卡完成基于維向量映射的多維索引計(jì)算,生成向量索引,并復(fù)制回內(nèi)存,更新相應(yīng)的向量索引分片;4.4.3)內(nèi)存多維索引分片基于維向量由CPU完成多維索引計(jì)算,并生成相應(yīng)的向量索引分片;4.4.4)CPU與協(xié)處理器加速卡處理不同的多維索引數(shù)據(jù)分片,兩個(gè)多維索引分片上的計(jì)算并行執(zhí)行。

所述步驟4.5)中,優(yōu)化策略一如下:4.5.1)當(dāng)節(jié)點(diǎn)內(nèi)存能夠存儲(chǔ)多維索引和部分度量列時(shí),多維索引全部內(nèi)存存儲(chǔ),事實(shí)數(shù)據(jù)以列為存儲(chǔ)單位,按LRU算法在內(nèi)存存儲(chǔ)頻繁訪問的度量列,不頻繁訪問的度量列存儲(chǔ)于閃存;4.5.2)當(dāng)節(jié)點(diǎn)內(nèi)存不能存儲(chǔ)全部多維索引列時(shí),多維索引以列為單位存儲(chǔ)于節(jié)點(diǎn)服務(wù)器內(nèi)存或閃存;多維索引以列為單位按LRU算法選擇頻繁使用的多維索引列存儲(chǔ)于內(nèi)存;4.5.3)在多維索引計(jì)算時(shí),內(nèi)存中的多維索引列先執(zhí)行維向量映射操作,向量索引記錄內(nèi)存多維索引列的部分計(jì)算結(jié)果,并且以向量索引中非空值位置作為索引訪問閃存中的多維索引列,完成其余的多維索引計(jì)算任務(wù)。

本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn):1、本發(fā)明通過構(gòu)建面向數(shù)據(jù)庫一體機(jī)高性能計(jì)算服務(wù)器集群和存儲(chǔ)服務(wù)器集群、眾核協(xié)處理器加速卡及閃存等新型計(jì)算、存儲(chǔ)硬件的內(nèi)存OLAP數(shù)據(jù)模型,將數(shù)據(jù)倉庫多維數(shù)據(jù)集劃分為維度、多維索引和度量三類數(shù)據(jù),分別對(duì)應(yīng)高性能計(jì)算服務(wù)器集群及眾核協(xié)處理器加速卡內(nèi)存及計(jì)算資源,存儲(chǔ)服務(wù)器集群的內(nèi)存、閃存及計(jì)算資源,實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和計(jì)算特征與數(shù)據(jù)庫一體機(jī)硬件特點(diǎn)相適應(yīng);將內(nèi)存OLAP查詢處理簡化為維映射計(jì)算、多維索引計(jì)算和聚合計(jì)算,將數(shù)據(jù)庫最復(fù)雜的連接操作轉(zhuǎn)換為基于簡單向量數(shù)據(jù)結(jié)構(gòu)的多維索引計(jì)算,使數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)更加適合眾核協(xié)處理器加速卡的程序設(shè)計(jì)特點(diǎn),通過新型計(jì)算硬件加速OLAP核心性能;將OLAP查詢?nèi)蝿?wù)在數(shù)據(jù)庫一體機(jī)高性能計(jì)算服務(wù)器集群、眾核協(xié)處理器加速卡和存儲(chǔ)服務(wù)器集群上進(jìn)行優(yōu)化配置,提高數(shù)據(jù)庫一體機(jī)不對(duì)稱存儲(chǔ)與計(jì)算資源的利用率,提高內(nèi)存OLAP整體性能;OLAP查詢處理任務(wù)分解為在不同計(jì)算平臺(tái)之間的流水處理任務(wù),可以進(jìn)一步將多個(gè)查詢的不同處理階段在數(shù)據(jù)庫一體機(jī)平臺(tái)上流水并行處理,提高系統(tǒng)OLAP查詢吞吐性能。2、本發(fā)明針對(duì)數(shù)據(jù)庫一體機(jī)不對(duì)稱的服務(wù)器集群架構(gòu)和閃存、協(xié)處理器加速卡的硬件配置提出面向硬件特性的內(nèi)存OLAP查詢優(yōu)化技術(shù),最大化內(nèi)存數(shù)據(jù)倉庫一體機(jī)通過硬件對(duì)內(nèi)存OLAP性能的優(yōu)化作用。3、在內(nèi)存數(shù)據(jù)庫倉庫一體機(jī)不對(duì)稱硬件架構(gòu)下,在存儲(chǔ)模型上,本發(fā)明采用將較小的維度和多維索引數(shù)據(jù)集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群,將較大的度量數(shù)據(jù)存儲(chǔ)于存儲(chǔ)服務(wù)器集群的數(shù)據(jù)分布策略,使數(shù)據(jù)倉庫的數(shù)據(jù)特點(diǎn)與數(shù)據(jù)庫一體機(jī)高性能計(jì)算服務(wù)器集群與存儲(chǔ)集群的存儲(chǔ)容量特點(diǎn)相適應(yīng)。4、在計(jì)算模型上,本發(fā)明采用通過眾核協(xié)處理器加速內(nèi)存OLAP查詢處理技術(shù),利用眾核協(xié)處理器加速卡(如FPGA、GPU、Intel MIC Phi等)并行計(jì)算能力強(qiáng)大、價(jià)格低、能耗低的特點(diǎn)加速內(nèi)存OLAP的多維索引計(jì)算處理階段,提高整體OLAP查詢處理性能。

綜上所述,本發(fā)明適用于面向內(nèi)存數(shù)據(jù)倉庫一體機(jī)的內(nèi)存OLAP應(yīng)用場景,能夠適應(yīng)數(shù)據(jù)庫一體機(jī)不對(duì)稱硬件架構(gòu)下的內(nèi)存OLAP性能加速需求。

附圖說明

圖1是數(shù)據(jù)庫一體機(jī)硬件架構(gòu)示意圖;

圖2是本發(fā)明所使用的邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型和多維OLAP計(jì)算模型示意圖;

圖3是本發(fā)明維表、多維索引集中存儲(chǔ),事實(shí)表分布存儲(chǔ)策略示意圖;

圖4是本發(fā)明維表集中存儲(chǔ),多維索引、事實(shí)表分布存儲(chǔ)策略;

圖5是本發(fā)明高性能計(jì)算服務(wù)器集群數(shù)據(jù)更新策略示意圖;

圖6是本發(fā)明面向CPU和眾核協(xié)處理器架構(gòu)的多維索引計(jì)算示意圖;

圖7是本發(fā)明基于數(shù)據(jù)庫一體機(jī)集群的OLAP查詢處理示意圖;

圖8是本發(fā)明多查詢流水并行執(zhí)行方法示意圖;

圖9是本發(fā)明實(shí)施例OLAP查詢處理過程示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的描述。

本發(fā)明提供一種面向數(shù)據(jù)庫一體機(jī)的內(nèi)存數(shù)據(jù)倉庫查詢處理實(shí)現(xiàn)方法,該方法面向數(shù)據(jù)庫一體機(jī)不對(duì)稱硬件架構(gòu),以及閃存、眾核協(xié)處理器加速卡等新型存儲(chǔ)和計(jì)算硬件進(jìn)行優(yōu)化設(shè)計(jì),使之與內(nèi)存OLAP查詢處理特點(diǎn)相適應(yīng),提供高性能內(nèi)存數(shù)據(jù)倉庫OLAP查詢處理能力,其具體步聚如下:

1)構(gòu)建內(nèi)存數(shù)據(jù)倉庫存儲(chǔ)模型:

如圖1所示,數(shù)據(jù)庫一體機(jī)在硬件架構(gòu)上通常采用不對(duì)稱結(jié)構(gòu),通常由高性能計(jì)算服務(wù)器集群和存儲(chǔ)服務(wù)集群構(gòu)成:高性能計(jì)算服務(wù)器集群硬件配置較高,如配置有大容量內(nèi)存或多塊高性能眾核協(xié)處理器加速卡;存儲(chǔ)服務(wù)集群硬件配置通常相對(duì)較低,內(nèi)存容量相對(duì)較小,可能配置少量的協(xié)處理器加速卡。根據(jù)硬件配置特點(diǎn),高性能集群主要負(fù)責(zé)內(nèi)存數(shù)據(jù)倉庫主要的多維計(jì)算任務(wù),而存儲(chǔ)集群則適合處理計(jì)算復(fù)雜度較低的數(shù)據(jù)處理任務(wù)。

針對(duì)數(shù)據(jù)庫一體機(jī)的硬件架構(gòu)特點(diǎn),如圖2所示,本發(fā)明內(nèi)存數(shù)據(jù)倉庫存儲(chǔ)模型采用融合的多維關(guān)系OLAP模型,多維關(guān)系OLAP模型構(gòu)建過程如下:

1.1)邏輯數(shù)據(jù)模型

將數(shù)據(jù)倉庫的多維數(shù)據(jù)集結(jié)構(gòu)劃分為維度、多維索引和度量三種數(shù)據(jù)結(jié)構(gòu)。維度對(duì)應(yīng)內(nèi)存數(shù)據(jù)倉庫多維數(shù)據(jù)立方體的空間坐標(biāo)軸,用于構(gòu)建數(shù)據(jù)倉庫多維數(shù)據(jù)立方體模型;多維索引對(duì)應(yīng)事實(shí)數(shù)據(jù)在多維數(shù)據(jù)立方體中的空間坐標(biāo),用于映射度量數(shù)據(jù)在多維數(shù)據(jù)立方體中的多維空間位置;度量則對(duì)應(yīng)事實(shí)數(shù)據(jù)的各個(gè)屬性。

1.2)物理數(shù)據(jù)模型

在物理數(shù)據(jù)模型中,維度存儲(chǔ)為維表和維向量,維表可以采用行存儲(chǔ)或列存儲(chǔ)數(shù)據(jù)庫引擎,每一條維表記錄映射為維度上的唯一坐標(biāo)值,維向量以數(shù)組結(jié)構(gòu)表示維度,數(shù)組下標(biāo)映射為維度坐標(biāo);多維索引采用列存儲(chǔ)模型,多維坐標(biāo)存儲(chǔ)為獨(dú)立的多維索引列,標(biāo)識(shí)事實(shí)數(shù)據(jù)在多維數(shù)據(jù)立方體空間中的多維坐標(biāo)分量,向量索引是與度量列等長的數(shù)組,用于檢索多維索引對(duì)應(yīng)的事實(shí)數(shù)據(jù);度量存儲(chǔ)為事實(shí)表,采用列存儲(chǔ)技術(shù)提高數(shù)據(jù)壓縮比和分析處理性能。

1.3)多維OLAP查詢模型

OLAP查詢是面向多維數(shù)據(jù)立方體結(jié)構(gòu)的多維操作?;诙嗑S關(guān)系OLAP模型的OLAP查詢處理包括三個(gè)處理階段:

1.3.1)維映射:將OLAP查詢映射到相關(guān)維表,生成維向量,維向量中的非空值標(biāo)識(shí)當(dāng)前OLAP查詢對(duì)應(yīng)的多維數(shù)據(jù)子集在各相關(guān)維度上的分量值;

1.3.2)多維索引計(jì)算:將多維索引映射到相應(yīng)的維向量(多維索引值對(duì)應(yīng)相關(guān)維向量數(shù)組下標(biāo)值)實(shí)現(xiàn)對(duì)度量數(shù)據(jù)的多維過濾,并創(chuàng)建向量索引,標(biāo)識(shí)滿足當(dāng)前OLAP查詢的多維索引項(xiàng),向量索引中的非空值代表OLAP查詢分組屬性所構(gòu)造的聚合數(shù)據(jù)立方體的多維地址;通過多維過濾獲得滿足OLAP查詢條件數(shù)據(jù)的度量數(shù)據(jù)集合,為度量數(shù)據(jù)創(chuàng)建向量索引;

1.3.3)聚合計(jì)算:度量數(shù)據(jù)基于向量索引完成分組聚集計(jì)算。

2)構(gòu)建內(nèi)存數(shù)據(jù)倉庫一體機(jī)分布式存儲(chǔ)模型:

在數(shù)據(jù)倉庫中,維表通常較小且增長緩慢,事實(shí)表龐大且增長較快,但事實(shí)表數(shù)據(jù)為只讀追加模式(即insert-only模式)。在本發(fā)明的數(shù)據(jù)庫一體機(jī)硬件架構(gòu)下,根據(jù)硬件的配置情況,采用以下兩種分布式存儲(chǔ)策略:

2.1)維表、多維索引集中存儲(chǔ),事實(shí)表分布存儲(chǔ)策略:

2.1.1)如圖3所示,較小的維表集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群;當(dāng)計(jì)算集群配置較高,如配置有大容量內(nèi)存、配置多塊眾核協(xié)處理器等加速卡設(shè)備時(shí),內(nèi)存數(shù)據(jù)倉庫的多維索引集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群節(jié)點(diǎn),利用高性能計(jì)算服務(wù)器集群強(qiáng)大的計(jì)算性能完成內(nèi)存OLAP查詢的多維計(jì)算任務(wù);

2.1.2)龐大的事實(shí)表數(shù)據(jù)采用水平分片方式分布存儲(chǔ)于存儲(chǔ)服務(wù)集群節(jié)點(diǎn)上。

2.1.3)多維計(jì)算生成的向量索引傳輸?shù)较鄳?yīng)的存儲(chǔ)服務(wù)器集群節(jié)點(diǎn),完成聚合計(jì)算。

其中,當(dāng)多維索引超過高性能集群節(jié)點(diǎn)存儲(chǔ)容量時(shí),按多維索引數(shù)據(jù)的物理存儲(chǔ)順序?qū)⒆钤绲亩嗑S索引數(shù)據(jù)降級(jí)為冷數(shù)據(jù),分發(fā)到相應(yīng)事實(shí)表數(shù)據(jù)分片所在的存儲(chǔ)服務(wù)器集群節(jié)點(diǎn),將該部分多維索引計(jì)算下推到存儲(chǔ)服務(wù)器集群節(jié)點(diǎn)。

2.2)維表集中存儲(chǔ),多維索引、事實(shí)表分布存儲(chǔ)策略:

如圖4所示,當(dāng)高性能計(jì)算服務(wù)器集群內(nèi)存容量相對(duì)存儲(chǔ)服務(wù)集群內(nèi)存容量較小且無法存儲(chǔ)內(nèi)存數(shù)據(jù)倉庫全部的多維索引數(shù)據(jù)時(shí),采用維表集中存儲(chǔ)于高性能計(jì)算服務(wù)器集群,多維索引和事實(shí)表采用水平分片方式分布地存儲(chǔ)于高性能計(jì)算服務(wù)器集群和存儲(chǔ)服務(wù)器集群中。

3)高性能計(jì)算服務(wù)器集群數(shù)據(jù)更新策略:當(dāng)高性能計(jì)算服務(wù)器集群內(nèi)存容量不足時(shí),采用循環(huán)隊(duì)列更新策略淘汰最久的數(shù)據(jù)(如圖5所示),更新為最新的數(shù)據(jù)。具體如下:

多維索引和事實(shí)數(shù)據(jù)采用列存儲(chǔ),列以行組為單位存儲(chǔ),行組列的大小為閃存I/O數(shù)據(jù)塊大小的整數(shù)倍,根據(jù)列數(shù)據(jù)訪問性能設(shè)置行組大小(如1M、2M、4M…行)。根據(jù)存儲(chǔ)策略(高性能服務(wù)器集群只存儲(chǔ)多維索引或存儲(chǔ)多維索引與事實(shí)數(shù)據(jù))、列數(shù)據(jù)寬度和服務(wù)器可用內(nèi)存容量計(jì)算內(nèi)存可容納的最大行組數(shù)n,新增加的數(shù)據(jù)以行組為單位存儲(chǔ)于數(shù)據(jù)列中。當(dāng)行組數(shù)超過閾值,如最大行組數(shù)的90%,則異步地將起始行組對(duì)應(yīng)的列數(shù)據(jù)同步到閃存中,當(dāng)全部行組存儲(chǔ)滿后,將起始行組作為新插入數(shù)據(jù)的存儲(chǔ)單元。整個(gè)行組用作一個(gè)循環(huán)隊(duì)列,隊(duì)列尾的行組用于插入新記錄,隊(duì)列首的行組用于淘汰舊數(shù)據(jù)到閃存。閃存中淘汰的數(shù)據(jù)通過異步的方式復(fù)制到存儲(chǔ)服務(wù)器集群節(jié)點(diǎn),同步完成后刪除高性能計(jì)算服務(wù)器集群節(jié)點(diǎn)閃存中的數(shù)據(jù)分片。

如圖3所示的存儲(chǔ)策略中,高性能計(jì)算服務(wù)器集群集中存儲(chǔ)多維索引數(shù)據(jù),淘汰的多維索引行組數(shù)據(jù)根據(jù)事實(shí)數(shù)據(jù)在存儲(chǔ)服務(wù)器集群的分布策略從高性能計(jì)算服務(wù)器集群節(jié)點(diǎn)閃存同步到相應(yīng)的存儲(chǔ)服務(wù)器節(jié)點(diǎn)內(nèi)存,保持多維索引行組數(shù)據(jù)與相應(yīng)的事實(shí)表行組數(shù)據(jù)存儲(chǔ)于相同的節(jié)點(diǎn),將部分多維索引計(jì)算下推到存儲(chǔ)服務(wù)器節(jié)點(diǎn)。在圖4所示的存儲(chǔ)策略中,高性能服務(wù)器節(jié)點(diǎn)存儲(chǔ)多維數(shù)據(jù)和事實(shí)數(shù)據(jù)。內(nèi)存數(shù)據(jù)淘汰策略如圖5所示,淘汰的行組由多維索引和事實(shí)數(shù)據(jù)組成,閃存中行組數(shù)量達(dá)到一定閾值(如32、64…,行組的數(shù)量決定向存儲(chǔ)服務(wù)器數(shù)據(jù)復(fù)制的粒度)時(shí),將閃存中的若干行組作為一個(gè)數(shù)據(jù)分片,按存儲(chǔ)服務(wù)器集群的數(shù)據(jù)分布策略分配到存儲(chǔ)服務(wù)器集群節(jié)點(diǎn),完成舊數(shù)據(jù)從高性能計(jì)算服務(wù)器集群向存儲(chǔ)服務(wù)器集群的轉(zhuǎn)移。

4)實(shí)現(xiàn)內(nèi)存數(shù)據(jù)倉庫一體機(jī)OLAP查詢處理:

數(shù)據(jù)庫一體機(jī)的高性能計(jì)算服務(wù)器集群和存儲(chǔ)服務(wù)器集群在存儲(chǔ)能力和處理能力的不對(duì)稱性,服務(wù)器節(jié)點(diǎn)內(nèi)處理器和眾核協(xié)處理器加速卡處理能力的不對(duì)稱性,以及內(nèi)存和閃存在存儲(chǔ)容量和性能上的不對(duì)稱要求內(nèi)存數(shù)據(jù)倉庫一體機(jī)的OLAP查詢處理是一種松耦合的分布式計(jì)算機(jī)制,不同的計(jì)算階段可以根據(jù)硬件配置分配給不同的存儲(chǔ)和計(jì)算資源。結(jié)合內(nèi)存數(shù)據(jù)倉庫一體機(jī)不同的硬件配置及數(shù)據(jù)分布策略,具體的內(nèi)存OLAP查詢處理方法如下:

4.1)OLAP查詢在高性能計(jì)算服務(wù)器集群執(zhí)行,OLAP查詢命令分解為相關(guān)維表上的維向量生成命令,過濾維表記錄,投影出分組屬性并對(duì)分組屬性進(jìn)行字典編碼,以字典表編碼作為維表記錄對(duì)應(yīng)的維向量單元值,不滿足過濾條件的維表記錄對(duì)應(yīng)的維向量單元置為空值,創(chuàng)建OLAP查詢相關(guān)的各維向量。

每個(gè)維向量的分組編碼構(gòu)成一個(gè)分組數(shù)據(jù)立方體,維向量中的分組值代表在該維上分組數(shù)據(jù)立方體的維坐標(biāo)分量。

4.2)采用多維索引集中存儲(chǔ),事實(shí)表分布存儲(chǔ)策略時(shí),多維索引按事實(shí)表物理分片進(jìn)行邏輯分片。OLAP查詢包括以下三個(gè)步驟:

4.2.1)多維索引根據(jù)OLAP查詢生成的維向量進(jìn)行多維過濾計(jì)算,生成相應(yīng)的向量索引,向量索引中的空值單元用于過濾事實(shí)表記錄,非空值代表事實(shí)表記錄在OLAP查詢中的分組編碼。當(dāng)多維索引在OLAP查詢相關(guān)維向量映射的位置取值均為非空時(shí),將相關(guān)維向量映射值對(duì)應(yīng)的分組數(shù)據(jù)立方體多維坐標(biāo)轉(zhuǎn)換為一維坐標(biāo)存儲(chǔ)在向量索引對(duì)應(yīng)的單元中;

4.2.2)將創(chuàng)建的向量索引按邏輯分片發(fā)送到存儲(chǔ)服務(wù)器集群相應(yīng)的節(jié)點(diǎn)上,如圖2所示,通過向量索引過濾度量列,并進(jìn)行聚合計(jì)算;

4.2.3)存儲(chǔ)服務(wù)器集群節(jié)點(diǎn)上的聚合結(jié)果傳輸回高性能計(jì)算服務(wù)器集群進(jìn)行全局聚合結(jié)果歸并操作,獲得全局聚合結(jié)果,并將聚合結(jié)果對(duì)應(yīng)的分組數(shù)據(jù)立方體的多維坐標(biāo)映射到各維向量分組字典表,轉(zhuǎn)換為分組屬性,輸出OLAP查詢處理結(jié)果。

4.3)采用多維索引、事實(shí)表分布存儲(chǔ)策略時(shí),每個(gè)服務(wù)器節(jié)點(diǎn)保存完整的多維索引和事實(shí)數(shù)據(jù)分片,各服務(wù)器節(jié)點(diǎn)從高性能計(jì)算服務(wù)器集群下載維向量到本地節(jié)點(diǎn),完成本地化的OLAP計(jì)算。

在本地節(jié)點(diǎn),多維索引計(jì)算、生成向量索引、聚合計(jì)算可以形成流水線,提高OLAP查詢處理性能,生成的本地聚合結(jié)果返回高性能計(jì)算服務(wù)器集群節(jié)點(diǎn),由高性能服務(wù)器集群節(jié)點(diǎn)完成全局聚合結(jié)果的歸并及輸出查詢結(jié)果任務(wù)。

4.4)當(dāng)服務(wù)器節(jié)點(diǎn)配置有眾核協(xié)處理器加速卡時(shí),采用協(xié)處理器加速卡加速多維索引計(jì)算方法,具體步驟如下:

4.4.1)按照協(xié)處理器加速卡內(nèi)存容量對(duì)多維索引和向量索引進(jìn)行劃分,按最大化協(xié)處理器加速卡內(nèi)存利用率的原則分配適合協(xié)處理器加速卡內(nèi)存容量的最大分片,并復(fù)制到協(xié)處理器加速卡內(nèi)存;

4.4.2)查詢執(zhí)行時(shí),將維向量復(fù)制到協(xié)處理器加速卡內(nèi)存,通過協(xié)處理器加速卡完成基于維向量映射的多維索引計(jì)算,生成向量索引,并復(fù)制回內(nèi)存,更新相應(yīng)的向量索引分片;

4.4.3)內(nèi)存多維索引分片基于維向量由CPU完成多維索引計(jì)算,并生成相應(yīng)的向量索引分片;

4.4.4)CPU與協(xié)處理器加速卡處理不同的多維索引數(shù)據(jù)分片,兩個(gè)多維索引分片上的計(jì)算可以并行執(zhí)行。

4.5)在存儲(chǔ)服務(wù)器節(jié)點(diǎn)端,當(dāng)內(nèi)存容量小于數(shù)據(jù)分片時(shí),采用如下優(yōu)化策略多維索引計(jì)算:

4.5.1)當(dāng)節(jié)點(diǎn)內(nèi)存能夠存儲(chǔ)多維索引和部分度量列時(shí),多維索引全部內(nèi)存存儲(chǔ),事實(shí)數(shù)據(jù)以列為存儲(chǔ)單位,按LRU(最近最少訪問)算法在內(nèi)存存儲(chǔ)頻繁訪問的度量列,不頻繁訪問的度量列存儲(chǔ)于閃存;

4.5.2)當(dāng)節(jié)點(diǎn)內(nèi)存不能存儲(chǔ)全部多維索引列時(shí),多維索引以列為單位存儲(chǔ)于節(jié)點(diǎn)服務(wù)器內(nèi)存或閃存。多維索引以列為單位按LRU算法選擇頻繁使用的多維索引列存儲(chǔ)于內(nèi)存;

4.5.3)在多維索引計(jì)算時(shí),內(nèi)存中的多維索引列先執(zhí)行維向量映射操作,向量索引記錄內(nèi)存多維索引列的部分計(jì)算結(jié)果,并且以向量索引中非空值位置作為索引訪問閃存中的多維索引列,完成其余的多維索引計(jì)算任務(wù)。

綜上所述,本發(fā)明涉及的內(nèi)存數(shù)據(jù)庫一體機(jī)OLAP查詢處理技術(shù)將OLAP查詢?nèi)蝿?wù)劃分為維映射計(jì)算、多維索引計(jì)算和聚合計(jì)算三個(gè)流水執(zhí)行階段,如圖7所示,當(dāng)OLAP查詢處理的維映射計(jì)算、多維索引計(jì)算和聚合計(jì)算三個(gè)計(jì)算階段分別分布在高性能計(jì)算服務(wù)器集群CPU、高性能計(jì)算服務(wù)器集群協(xié)處理器和存儲(chǔ)服務(wù)器集群節(jié)點(diǎn)時(shí),每個(gè)階段的計(jì)算結(jié)果以向量方式傳遞給下一個(gè)硬件平臺(tái)繼續(xù)執(zhí)行。如圖8所示,多個(gè)OLAP查詢的不同執(zhí)行階段可以流水并行,提高數(shù)據(jù)庫一體機(jī)不對(duì)稱硬件平臺(tái)中各計(jì)算資源的利用率,提高系統(tǒng)查詢吞吐性能。流水并行計(jì)算的理想條件是三個(gè)階段的計(jì)算時(shí)間相近,各階段的計(jì)算時(shí)間由數(shù)據(jù)量、計(jì)算復(fù)雜度、處理器內(nèi)存大小、處理器數(shù)量、處理器性能等多個(gè)因素決定,需要通過優(yōu)化配置硬件使三個(gè)階段的計(jì)算時(shí)間相對(duì)均勻,提高數(shù)據(jù)庫一體機(jī)硬件平臺(tái)的計(jì)算效率。

下面結(jié)合實(shí)施例對(duì)本發(fā)明做進(jìn)一步的介紹。

如圖9所示,在本實(shí)施例中,整個(gè)OLAP查詢處理過程被分為三個(gè)處理階段。內(nèi)存數(shù)據(jù)庫一體機(jī)的高性能服務(wù)器集群作為主節(jié)點(diǎn),接受OLAP查詢。

在維表處理階段,高性能服務(wù)器集群的CPU將SQL命令中維表上的選擇、投影、分組操作應(yīng)用于相應(yīng)的維表,投影出分組屬性,然后對(duì)分組屬性進(jìn)行字典表壓縮,為不重復(fù)值分配唯一的順序編號(hào),然后更新維表分組投影為分組投影向量,用字典表編碼代替原始分組屬性值。如customer表上按WHERE子句c_region=’AMERICA’投影出分組屬性c_nation,其中的屬性值’Canada’和’Brazil’的字典編碼分別為0和1,生成與維表具有一一位置映射關(guān)系的維向量。同理,supplier表上生成維向量,分組屬性三個(gè)成員的字典表編碼分別為0,1,2。兩個(gè)維表對(duì)應(yīng)生成兩個(gè)維向量。

在多維索引計(jì)算階段,多維索引直接映射到維向量相應(yīng)的偏移位置,讀取對(duì)應(yīng)的分組值,當(dāng)任一多維索引映射位置為空值時(shí),當(dāng)前事實(shí)表記錄不滿足查詢的輸出條件,對(duì)應(yīng)的向量索引位置設(shè)置為空值;當(dāng)兩個(gè)多維索引值映射的維向量位置均不為空時(shí),將對(duì)應(yīng)的分組編碼存儲(chǔ)為多維數(shù)組下標(biāo),如多維索引第一條記錄索引列l(wèi)_CK,l_SK值為2和0,分別映射到維向量取值為1和0的位置,將多維數(shù)組A[1][0]下標(biāo)轉(zhuǎn)換為一維數(shù)組下標(biāo)3,存儲(chǔ)于向量索引的第一個(gè)位置。當(dāng)配置充足的眾核協(xié)處理器加速卡時(shí),多維索引計(jì)算在協(xié)處理器加速卡上執(zhí)行。維向量復(fù)制到協(xié)處理器加速卡內(nèi)存,與存儲(chǔ)于協(xié)處理器加速卡內(nèi)存的多維索引列共同執(zhí)行多維索引計(jì)算,生成向量索引,并復(fù)制回內(nèi)存。當(dāng)協(xié)處理器加速卡內(nèi)存不能夠執(zhí)行全部多維索引計(jì)算時(shí),在內(nèi)存與協(xié)處理器加速卡內(nèi)存的多維索引列分片上可以并行地執(zhí)行多維索引計(jì)算任務(wù)。生成的向量索引用于度量列上的聚合計(jì)算,向量索引按與度量數(shù)據(jù)分片對(duì)應(yīng)的方式劃分為向量分片,傳輸?shù)酱鎯?chǔ)服務(wù)器集群對(duì)應(yīng)的節(jié)點(diǎn)。

在聚合計(jì)算階段,順序掃描向量索引并按向量索引非空位置訪問對(duì)應(yīng)的度量列記錄位置進(jìn)行聚集計(jì)算。如掃描向量索引第一個(gè)單元,讀取值3,訪問度量列l(wèi)_revenue第一個(gè)單元,將度量值946映射到多維數(shù)組Agg對(duì)應(yīng)的單元A[1][0](或A[3])中進(jìn)行累加計(jì)算。

當(dāng)完成所有的聚集計(jì)算后,得到多維數(shù)組Agg。各存儲(chǔ)服務(wù)器節(jié)點(diǎn)的多維數(shù)組在高性能計(jì)算服務(wù)器集群節(jié)點(diǎn)進(jìn)行聚集結(jié)果歸并,并將其各數(shù)組單元下標(biāo)映射到維表字典表對(duì)應(yīng)的位置,讀取實(shí)際的分組屬性值,生成查詢結(jié)果記錄。如A[1][0]分別對(duì)應(yīng)customer表中nation取值為Brazil和supplier表中nation取值為Japan,將多維數(shù)組下標(biāo)還原為分組屬性值,并與數(shù)組單元中的聚集值組合為輸出記錄。

在OLAP查詢執(zhí)行時(shí)間占比最高的多維索引計(jì)算階段,算法使用定長的維表向量、多維索引列和向量索引,連接操作簡化為多維索引在維向量上的位置映射,基于數(shù)組訪問的算法設(shè)計(jì)能夠更好地適應(yīng)眾核協(xié)處理器加速卡大規(guī)模集成簡單核心的硬件特點(diǎn),更好地發(fā)揮其并行計(jì)算能力。多維索引計(jì)算在內(nèi)存數(shù)據(jù)倉庫一體機(jī)架構(gòu)下被設(shè)計(jì)為獨(dú)立的計(jì)算過程,可以利用新型眾核協(xié)處理器加速卡進(jìn)一步提高多維索引計(jì)算性能,生成的向量索引能夠較顯著地提高存儲(chǔ)服務(wù)器節(jié)點(diǎn)上度量數(shù)據(jù)上的聚合計(jì)算性能,簡化存儲(chǔ)服務(wù)器節(jié)點(diǎn)上的計(jì)算復(fù)雜度,提高聚合計(jì)算效率。

綜上所述,數(shù)據(jù)庫一體機(jī)是一種不對(duì)稱硬件架構(gòu),高端計(jì)算服務(wù)器集群和低端存儲(chǔ)服務(wù)器集群分別面向高性能復(fù)雜計(jì)算和高擴(kuò)展存儲(chǔ)訪問服務(wù),新型閃存和眾核協(xié)處理器加速卡硬件技術(shù)進(jìn)一步提高了數(shù)據(jù)庫一體機(jī)的存儲(chǔ)與計(jì)算性能。對(duì)于內(nèi)存數(shù)據(jù)倉庫應(yīng)用而言,提高內(nèi)存實(shí)時(shí)OLAP查詢處理性能需要根據(jù)不同硬件的存儲(chǔ)和計(jì)算性能特點(diǎn),有針對(duì)性地優(yōu)化數(shù)據(jù)分布存儲(chǔ)和分布計(jì)算任務(wù),利用先進(jìn)硬件加速OLAP查詢處理性能。本發(fā)明面向數(shù)據(jù)庫一體機(jī)不對(duì)稱硬件架構(gòu)而設(shè)計(jì)了多維關(guān)系OLAP模型,將數(shù)據(jù)倉庫劃分為較小的維度、中等大小的多維索引和較大的度量數(shù)據(jù)三部分,與高性能計(jì)算服務(wù)器集群、眾核協(xié)處理器加速卡內(nèi)存以及存儲(chǔ)服務(wù)器集群的存儲(chǔ)能力相適合,優(yōu)化數(shù)據(jù)分布存儲(chǔ)策略;同時(shí),將OLAP查詢處理過程分解為維映射計(jì)算、多維索引計(jì)算和聚合計(jì)算三個(gè)階段,將OLAP查詢處理主要計(jì)算代價(jià)集中到多維索引計(jì)算階段,并通過新型的眾核協(xié)處理器加速卡硬件加速多維索引計(jì)算過程,通過先進(jìn)硬件提升內(nèi)存OLAP查詢處理性能。

上述各實(shí)施例僅用于說明本發(fā)明,各部件的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型、應(yīng)用位置及實(shí)現(xiàn)技術(shù)都是可以有所變化的,在本發(fā)明技術(shù)方案的基礎(chǔ)上,凡根據(jù)本發(fā)明原理對(duì)個(gè)別部件進(jìn)行的改進(jìn)和等同變換,均不應(yīng)排除在本發(fā)明的保護(hù)范圍之外。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
莱西市| 惠安县| 南木林县| 博湖县| 中宁县| 新安县| 华蓥市| 柳河县| 马鞍山市| 中山市| 邻水| 竹北市| 白沙| 葫芦岛市| 天峻县| 惠安县| 阳江市| 西畴县| 山西省| 武城县| 通城县| 开封县| 三明市| 洱源县| 天全县| 郁南县| 东至县| 徐汇区| 比如县| 仪征市| 黎平县| 阳高县| 平乡县| 长沙县| 尼勒克县| 剑川县| 樟树市| 喀什市| 吉安县| 黔江区| 彰武县|