列存儲(chǔ)技術(shù)在大數(shù)據(jù)中分析中的優(yōu)勢(shì)分析_第1頁(yè)
列存儲(chǔ)技術(shù)在大數(shù)據(jù)中分析中的優(yōu)勢(shì)分析_第2頁(yè)
列存儲(chǔ)技術(shù)在大數(shù)據(jù)中分析中的優(yōu)勢(shì)分析_第3頁(yè)
列存儲(chǔ)技術(shù)在大數(shù)據(jù)中分析中的優(yōu)勢(shì)分析_第4頁(yè)
列存儲(chǔ)技術(shù)在大數(shù)據(jù)中分析中的優(yōu)勢(shì)分析_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

列存儲(chǔ)技術(shù)在大數(shù)據(jù)中分析中的優(yōu)勢(shì)分析[摘要]針對(duì)當(dāng)前傳統(tǒng)數(shù)據(jù)庫(kù)技術(shù)對(duì)大數(shù)據(jù)進(jìn)行分析時(shí)系統(tǒng)性能?chē)?yán)重下降、查詢效率受限的問(wèn)題,本文研究分布式文件系統(tǒng)中數(shù)據(jù)讀取關(guān)鍵技術(shù)。在分布式系統(tǒng)中,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)直接影響著大數(shù)據(jù)的存儲(chǔ)效率和處理性能,本文基于行列存儲(chǔ)結(jié)構(gòu)的特點(diǎn),綜合比較不同存儲(chǔ)的模式在大數(shù)據(jù)應(yīng)用中的優(yōu)劣,展望未來(lái)研究與應(yīng)用方向。[關(guān)鍵詞]大數(shù)據(jù);列存儲(chǔ);MapReduce;1引言在信息化技術(shù)高度發(fā)展的今天,大數(shù)據(jù)應(yīng)用變得日漸普及而且非常重要。鑒于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)在大數(shù)據(jù)應(yīng)用領(lǐng)域應(yīng)用時(shí)遇到的困難,基于分布式的海量數(shù)據(jù)管理是當(dāng)前的研究熱點(diǎn),這就包括如何有效地存儲(chǔ)和處理這些增長(zhǎng)迅速的海量數(shù)據(jù)。一半而言大數(shù)據(jù)的數(shù)據(jù)規(guī)??梢赃_(dá)到PB級(jí),這就對(duì)存儲(chǔ)空間和計(jì)算能力提出了很高的要求,大數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)類(lèi)型多,復(fù)雜度高。大數(shù)據(jù)環(huán)境下,對(duì)數(shù)據(jù)存儲(chǔ)的組織和管理提出了更高的要求。本文在分析列存儲(chǔ)技術(shù)和分布式存儲(chǔ)系統(tǒng)HDFS局限性基礎(chǔ)上,重點(diǎn)研究了數(shù)據(jù)存放結(jié)構(gòu),綜述了各項(xiàng)關(guān)鍵技術(shù)當(dāng)前的研究現(xiàn)狀,分析了現(xiàn)有技術(shù)存在的問(wèn)題探討如何使用列存儲(chǔ)技術(shù)提升大數(shù)據(jù)存儲(chǔ)和處理的性能以提升大數(shù)據(jù)查詢的效率,并展望了未來(lái)研究的發(fā)展方向。2列存儲(chǔ)技術(shù)2.1列存儲(chǔ)方式自SIGMOD85會(huì)議論文ADecompositionStorageModel[]提出了DSM概念以來(lái),經(jīng)歷30年的發(fā)展,在Stonebraker、Abadi、Boncz等為首的一批數(shù)據(jù)庫(kù)專(zhuān)家的大力提倡下,列存儲(chǔ)相關(guān)技術(shù)及應(yīng)用快速得到了快速發(fā)展,這種技術(shù)的特點(diǎn)是對(duì)復(fù)雜數(shù)據(jù)的查詢效率高,讀取磁盤(pán)少,存儲(chǔ)空間占用少。這些特點(diǎn)使其大數(shù)據(jù)和OLAP應(yīng)用存儲(chǔ)的理想結(jié)構(gòu)。列存儲(chǔ)是相對(duì)于行存儲(chǔ)而言的,列存儲(chǔ)最核心的技術(shù)就是基于垂直分區(qū)的存儲(chǔ)設(shè)計(jì)和訪問(wèn)模式。列存儲(chǔ)系統(tǒng)將數(shù)據(jù)庫(kù)完全劃分為多個(gè)獨(dú)立的列的集合進(jìn)行存儲(chǔ),圖1展示了行存儲(chǔ)和列存儲(chǔ)的在物理存儲(chǔ)設(shè)計(jì)上的本質(zhì)區(qū)別,展示了3種數(shù)據(jù)庫(kù)的存儲(chǔ)方式,其中圖1(a)和圖1(b))是兩種列存儲(chǔ)的方式,每一列單獨(dú)保存Sales表中的每個(gè)屬性數(shù)據(jù)對(duì)象,圖1(c)是行存儲(chǔ)形式。列存儲(chǔ)數(shù)據(jù)庫(kù)只需查詢讀取涉及關(guān)系中某些數(shù)據(jù)列,避免無(wú)關(guān)列的提取,不像行存儲(chǔ)那樣需要從磁盤(pán)讀取整行信息并去除不需要的屬性信息,從而減少I(mǎi)/O和內(nèi)存帶寬的占用,提高查詢效率。而且,同一列數(shù)據(jù)屬性相同,可以使用針對(duì)性的壓縮算法,因此壓縮效率高。C-Store[]和MonetDB[]是其中有影響力的代表性成果,它們?cè)诖鎯?chǔ)結(jié)構(gòu)、查詢優(yōu)化、壓縮等方面進(jìn)行了很多技術(shù)創(chuàng)新,使得列存儲(chǔ)相比較行存儲(chǔ)而言更適合大規(guī)模的訪問(wèn)和查詢。2.2列存儲(chǔ)關(guān)鍵技術(shù)(1)壓縮技術(shù)AbadiDJ[]在SIGMOD06會(huì)議上提出列存儲(chǔ)的主要壓縮方法有:行程編碼算法、詞典編碼算法、位向量編碼算法。行程編碼算法(Run-lengthEncoding-RLE)行程編碼算法用一個(gè)三元組記錄數(shù)據(jù)值。這個(gè)三元組記錄包括數(shù)據(jù)出現(xiàn)的起始位置和持續(xù)長(zhǎng)度(即行程),目的在于壓縮原始數(shù)據(jù)的長(zhǎng)度,適用于相同數(shù)據(jù)連續(xù)存儲(chǔ)的情況,三元組描述為(X,Y,Z),X表示數(shù)據(jù)的值,Y表示數(shù)據(jù)起始位置,Z表示長(zhǎng)度。舉例而言假如在一個(gè)列中初始的50個(gè)元素中包含值‘W’,則這50個(gè)元素可以表示為三元組('W',1,50)。該技術(shù)適用于重復(fù)數(shù)據(jù)較多的的數(shù)據(jù)列,具有較好的壓縮效果,缺點(diǎn)是對(duì)列值的重復(fù)性及排序要求較高。詞典編碼算法(DictionaryCompression)詞典編碼算法將原始值轉(zhuǎn)換成替代值存儲(chǔ)在系統(tǒng)中,所以會(huì)產(chǎn)生“原始值-替代值”對(duì)照詞典,替代值的長(zhǎng)度大大小于原始值的長(zhǎng)度,從而達(dá)到壓縮存儲(chǔ)空間的目的。如圖2所示,可以用簡(jiǎn)單的兩位數(shù)字代替原始字符串,從而縮短所需存儲(chǔ)空間。該算法對(duì)于數(shù)據(jù)類(lèi)型要求較低,不要求數(shù)據(jù)排序,缺點(diǎn)是要?jiǎng)?chuàng)建詞典表,維護(hù)成本高,如果數(shù)據(jù)重復(fù)性不高則詞典表會(huì)過(guò)于龐大。③位向量編碼算法(Bit-VectorEncoding)位向量編碼是為每一個(gè)不同的取值生成一個(gè)位向量,根據(jù)位向量(串)中不同的位置取值0或1來(lái)對(duì)應(yīng)并確定不同的原始值。位向量編碼算法是輕量級(jí)的編碼算法,可以直接在壓縮數(shù)據(jù)上進(jìn)行操作,可以降低CPU成本。例如對(duì)以下的列存儲(chǔ)數(shù)據(jù):該算法對(duì)數(shù)據(jù)類(lèi)型要求不高,在有些情況下查詢效率甚至高于詞典編碼,缺點(diǎn)是位置數(shù)據(jù)會(huì)因?yàn)槿≈悼臻g的太大或者重復(fù)性低導(dǎo)致空間占用較大。對(duì)于列存儲(chǔ)主要應(yīng)用的海量數(shù)據(jù)查詢分析領(lǐng)域,有效壓縮是一個(gè)十分重要的優(yōu)勢(shì)。(2)延時(shí)物化延時(shí)物化的主要優(yōu)點(diǎn)在于允許對(duì)壓縮態(tài)的列存儲(chǔ)數(shù)據(jù)進(jìn)行高性能操作,具備高效的壓縮傳輸數(shù)據(jù)開(kāi)銷(xiāo),通過(guò)延遲元組物化,盡可能少的進(jìn)行元組物化,盡可能地避免了不必要的實(shí)際數(shù)據(jù)傳輸開(kāi)銷(xiāo)。元組物化是將常用元組從實(shí)際物理存儲(chǔ)的狀態(tài)生成為實(shí)體化的元組,即物化存儲(chǔ)在內(nèi)存中。在以后的查詢中,方便直接讀取已物化元組,從而提高查詢效率。物化有提前物化和延時(shí)物化兩種,提前物化在提交查詢之前物化元組;延時(shí)物化是推遲物化元組時(shí)間,在查詢最后時(shí)刻物化元組。對(duì)于列存儲(chǔ)數(shù)據(jù)庫(kù)而言,提前物化需要解壓壓縮數(shù)據(jù),時(shí)間和空間的開(kāi)銷(xiāo)都很大,而提前物化會(huì)涉及到很多不必要的列。AbadiDJ在文獻(xiàn)[]中,詳細(xì)介紹了兩種物化方式的實(shí)驗(yàn)過(guò)程,證明延時(shí)物化許多性能上的潛力只有在列存儲(chǔ)數(shù)據(jù)庫(kù)中才能發(fā)揮。文獻(xiàn)[]比較了提前物化和延時(shí)物化的優(yōu)劣,在延時(shí)物化引入橫向信息傳遞技術(shù)應(yīng)用,有效解決了溢出連接產(chǎn)生的性能下降問(wèn)題。3列存儲(chǔ)技術(shù)在大數(shù)據(jù)分析中的3.1大數(shù)據(jù)分析的存儲(chǔ)國(guó)際數(shù)據(jù)中心(IDC)在2011年的報(bào)告[]中定義了大數(shù)據(jù):“大數(shù)據(jù)技術(shù)描述了一個(gè)技術(shù)和體系的新時(shí)代,被設(shè)計(jì)于從大規(guī)模多樣化的數(shù)據(jù)中通過(guò)高速捕獲、發(fā)現(xiàn)和分析技術(shù)提取數(shù)據(jù)的價(jià)值”。這個(gè)定義刻畫(huà)了大數(shù)據(jù)的4個(gè)顯著特點(diǎn),即容量(volume)、多樣性variety)>速度(velocity)和價(jià)值(value)。大數(shù)據(jù)具有規(guī)模大、深度大、寬度大、處理時(shí)間短、硬件系統(tǒng)普通化和軟件系統(tǒng)開(kāi)源化的特點(diǎn)?,F(xiàn)有大數(shù)據(jù)處理技術(shù)主要有對(duì)稱(chēng)多處理機(jī)架構(gòu)(SMP)和大規(guī)模并行處理架構(gòu)(MPP)兩大類(lèi)。在數(shù)據(jù)量極速增長(zhǎng)的大數(shù)據(jù)背景下,計(jì)算分布和存儲(chǔ)分布的MPP架構(gòu)成為主流。MapReduce[]分布式并行計(jì)算是MPP架構(gòu)的代表。Hadoop[]是MapReduce分布式計(jì)算框架的實(shí)現(xiàn),為大數(shù)據(jù)處理大型分布式集群,通過(guò)分布式存儲(chǔ)系統(tǒng)HDFS(HadoopDistributedFileSystem)[]來(lái)管理海量數(shù)據(jù)。如何在HDFS中設(shè)計(jì)一個(gè)高效的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)來(lái)組織大數(shù)據(jù)遇到了一系列的困難,而影響大數(shù)據(jù)查詢分析性能的關(guān)鍵因素是能夠滿足充分利用MapReduce計(jì)算特性來(lái)處理大數(shù)據(jù)。3.2大數(shù)據(jù)分析中的數(shù)據(jù)存儲(chǔ)基于Hadoop系統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)中,數(shù)據(jù)存儲(chǔ)格式是影響數(shù)據(jù)倉(cāng)庫(kù)性能的一個(gè)重要因素,它直接影像如何高效的存儲(chǔ)、管理和使用這寫(xiě)數(shù)據(jù)。在Hadoop運(yùn)行環(huán)境中,數(shù)據(jù)的存儲(chǔ)格式要滿足以下幾個(gè)特點(diǎn):數(shù)據(jù)加載數(shù)據(jù)要快、數(shù)據(jù)查詢處理要快、高效的數(shù)據(jù)存儲(chǔ)空間利用率、適應(yīng)高強(qiáng)度的動(dòng)態(tài)負(fù)載模式。對(duì)比圖3中行列存儲(chǔ)方式的不同,基于行存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu):優(yōu)點(diǎn)是具備快速數(shù)據(jù)加載和動(dòng)態(tài)負(fù)載的高適應(yīng)能力,因?yàn)樾写鎯?chǔ)保證了相同記錄的所有域都在同一個(gè)集群節(jié)點(diǎn);但是它不太滿足快速的查詢響應(yīng)時(shí)間的要求,特別是在當(dāng)查詢僅僅針對(duì)所有列中的少數(shù)幾列時(shí),它就不能直接定位到所需列而跳過(guò)不需要的列,由于混合著不同數(shù)據(jù)值的列,行存儲(chǔ)不易獲得一個(gè)極高的壓縮比,行存儲(chǔ)不易獲得一個(gè)較高的壓縮比。在面向列的文件存儲(chǔ)結(jié)構(gòu)中,列A和列B存儲(chǔ)在同一列組,而列C和列D分別存儲(chǔ)在單獨(dú)的列組。這種結(jié)構(gòu)使得在查詢時(shí)能夠直接讀取需要的列而避免不必要列的讀取,并且對(duì)于相似數(shù)據(jù)也可以有一個(gè)更好的壓縮比。但是他的缺點(diǎn)也很明顯,那就是由于元組重構(gòu)的較高開(kāi)銷(xiāo),它并不能提供基于Hadoop系統(tǒng)的快速查詢處理,也不能保證不能保證同一記錄的所有列都存儲(chǔ)在同一集群節(jié)點(diǎn)之上,也適應(yīng)高度動(dòng)態(tài)的數(shù)據(jù)負(fù)載模式?;谛辛谢旌洗鎯?chǔ)的RCFile[],如圖4所示,它即滿足快速數(shù)據(jù)加載和動(dòng)態(tài)負(fù)載高適應(yīng)的需求外,也解決了數(shù)據(jù)查詢處理的瓶頸。該存儲(chǔ)結(jié)構(gòu)遵循的是“先水平劃分,再垂直劃分”的設(shè)計(jì)理念。先將數(shù)據(jù)按行水平劃分為行組,這樣一行的數(shù)據(jù)就可以保證存儲(chǔ)在同一個(gè)集群節(jié)點(diǎn);然后在對(duì)行進(jìn)行垂直劃分。RCFile具備相當(dāng)于行存儲(chǔ)的數(shù)據(jù)加載速度和負(fù)載適應(yīng)能力,在讀數(shù)據(jù)時(shí)可以在掃描表格時(shí)避免不必要的列讀取,它比其他結(jié)構(gòu)擁有更好的性能,使用列維度的壓縮能夠有效提升存儲(chǔ)空間利用率。通過(guò)設(shè)計(jì)一個(gè)分布式文件存儲(chǔ)格式(MapReducecolumn-storefile,MCF),基于列存儲(chǔ)的大數(shù)據(jù)分析系統(tǒng)物化策略,在MapReduce分布式并行處理環(huán)境中結(jié)合列存儲(chǔ)技術(shù)對(duì)物化策略進(jìn)行優(yōu)化執(zhí)行。在數(shù)據(jù)加載中,利用列存儲(chǔ)的特點(diǎn)提出數(shù)據(jù)存儲(chǔ)的協(xié)同定位策略來(lái)優(yōu)化數(shù)據(jù)的存儲(chǔ),在數(shù)據(jù)加載過(guò)程中進(jìn)行數(shù)據(jù)的預(yù)處理,通過(guò)構(gòu)建MapReduce早期物化策略、MapReduce延遲物化策略和MapReduce混合的物化策略,結(jié)合利用自適應(yīng)物化集合調(diào)整策略避免物化集合的惡性膨脹。通過(guò)實(shí)驗(yàn)證明,物化策略和自適應(yīng)物化集合調(diào)整策略有效地減少M(fèi)apReduce過(guò)程的中間數(shù)據(jù)、網(wǎng)絡(luò)帶寬占用和不必要的I/O開(kāi)銷(xiāo),較大提高大數(shù)據(jù)分析效率。4結(jié)束語(yǔ)通過(guò)本文研究發(fā)現(xiàn),行存儲(chǔ)結(jié)構(gòu)在數(shù)據(jù)加載的效率上優(yōu)于列存儲(chǔ),但在數(shù)據(jù)壓縮的效率很低,不能有效地提高磁盤(pán)利用率。列存儲(chǔ)結(jié)構(gòu)在數(shù)據(jù)壓縮上有很好的壓縮效果,因?yàn)榭鐢?shù)據(jù)節(jié)點(diǎn)訪問(wèn)使得數(shù)據(jù)加載及重構(gòu)的時(shí)間較長(zhǎng),對(duì)系統(tǒng)I/O要求較高。行列相結(jié)合的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)可以結(jié)合行存儲(chǔ)的高效數(shù)據(jù)加載和列存儲(chǔ)的高效數(shù)據(jù)壓縮效果,在大數(shù)據(jù)分布式系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論