那曲檬骨新材料有限公司

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>存儲設(shè)備>SAN網(wǎng)絡(luò)存儲>

揭秘:RCFile高效存儲結(jié)構(gòu)

2011年05月03日 11:01 本站整理 作者:Spring 用戶評論(0

  本文介紹了Facebook公司數(shù)據(jù)分析系統(tǒng)中的RCFile存儲結(jié)構(gòu),該結(jié)構(gòu)集行存儲和列存儲的優(yōu)點(diǎn)于一身,在MapReduce環(huán)境下的大規(guī)模數(shù)據(jù)分析中扮演重要角色。

  Facebook曾在2010 ICDE(IEEE International Conference on Data Engineering)會議上介紹了數(shù)據(jù)倉庫Hive。Hive存儲海量數(shù)據(jù)在Hadoop系統(tǒng)中,提供了一套類數(shù)據(jù)庫的數(shù)據(jù)存儲和處理機(jī)制。它采用類SQL語言對數(shù)據(jù)進(jìn)行自動化管理和處理,經(jīng)過語句解析和轉(zhuǎn)換,最終生成基于Hadoop的MapReduce任務(wù),通過執(zhí)行這些任務(wù)完成數(shù)據(jù)處理。圖1顯示了Hive數(shù)據(jù)倉庫的系統(tǒng)結(jié)構(gòu)。

  

79_110429153352_1.jpg

?

  圖1 Hive數(shù)據(jù)倉庫的系統(tǒng)結(jié)構(gòu)

  基于MapReduce的數(shù)據(jù)倉庫在超大規(guī)模數(shù)據(jù)分析中扮演了重要角色,對于典型的Web服務(wù)供應(yīng)商,這些分析有助于它們快速理解動態(tài)的用戶行為及變化的用戶需求。數(shù)據(jù)存儲結(jié)構(gòu)是影響數(shù)據(jù)倉庫性能的關(guān)鍵因素之一。Hadoop系統(tǒng)中常用的文件存儲格式有支持文本的TextFile和支持二進(jìn)制的SequenceFile等,它們都屬于行存儲方式。Facebook工程師發(fā)表的RCFile: A Fast and Spaceefficient Data Placement Structure in MapReducebased Warehouse Systems一文,介紹了一種高效的數(shù)據(jù)存儲結(jié)構(gòu)——RCFile(Record Columnar File),并將其應(yīng)用于Facebook的數(shù)據(jù)倉庫Hive中。與傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)存儲結(jié)構(gòu)相比,RCFile更有效地滿足了基于MapReduce的數(shù)據(jù)倉庫的四個(gè)關(guān)鍵需求,即Fast data loading、Fast query processing、Highly efficient storage space utilization和Strong adaptivity to highly dynamic workload patterns。

  數(shù)據(jù)倉庫的需求

  基于Facebook系統(tǒng)特征和用戶數(shù)據(jù)的分析,在MapReduce計(jì)算環(huán)境下,數(shù)據(jù)倉庫對于數(shù)據(jù)存儲結(jié)構(gòu)有四個(gè)關(guān)鍵需求。

  Fast data loading

  對于Facebook的產(chǎn)品數(shù)據(jù)倉庫而言,快速加載數(shù)據(jù)(寫數(shù)據(jù))是非常關(guān)鍵的。每天大約有超過20TB的數(shù)據(jù)上傳到Facebook的數(shù)據(jù)倉庫,由于數(shù)據(jù)加載期間網(wǎng)絡(luò)和磁盤流量會干擾正常的查詢執(zhí)行,因此縮短數(shù)據(jù)加載時(shí)間是非常必要的。

  Fast query processing

  為了滿足實(shí)時(shí)性的網(wǎng)站請求和支持高并發(fā)用戶提交查詢的大量讀負(fù)載,查詢響應(yīng)時(shí)間是非常關(guān)鍵的,這要求底層存儲結(jié)構(gòu)能夠隨著查詢數(shù)量的增加而保持高速的查詢處理。

  Highly efficient storage space utilization

  高速增長的用戶活動總是需要可擴(kuò)展的存儲容量和計(jì)算能力,有限的磁盤空間需要合理管理海量數(shù)據(jù)的存儲。實(shí)際上,該問題的解決方案就是最大化磁盤空間利用率。

  Strong adaptivity to highly dynamic workload patterns

  同一份數(shù)據(jù)集會供給不同應(yīng)用的用戶,通過各種方式來分析。某些數(shù)據(jù)分析是例行過程,按照某種固定模式周期性執(zhí)行;而另一些則是從中間平臺發(fā)起的查詢。大多數(shù)負(fù)載不遵循任何規(guī)則模式,這需要底層系統(tǒng)在存儲空間有限的前提下,對數(shù)據(jù)處理中不可預(yù)知的動態(tài)數(shù)據(jù)具備高度的適應(yīng)性,而不是專注于某種特殊的負(fù)載模式。

  MapReduce存儲策略

  要想設(shè)計(jì)并實(shí)現(xiàn)一種基于MapReduce數(shù)據(jù)倉庫的高效數(shù)據(jù)存儲結(jié)構(gòu),關(guān)鍵挑戰(zhàn)是在MapReduce計(jì)算環(huán)境中滿足上述四個(gè)需求。在傳統(tǒng)數(shù)據(jù)庫系統(tǒng)中,三種數(shù)據(jù)存儲結(jié)構(gòu)被廣泛研究,分別是行存儲結(jié)構(gòu)、列存儲結(jié)構(gòu)和PAX混合存儲結(jié)構(gòu)。上面這三種結(jié)構(gòu)都有其自身特點(diǎn),不過簡單移植這些數(shù)據(jù)庫導(dǎo)向的存儲結(jié)構(gòu)到基于MapReduce的數(shù)據(jù)倉庫系統(tǒng)并不能很好地滿足所有需求。

  行存儲

  如圖2所示,基于Hadoop系統(tǒng)行存儲結(jié)構(gòu)的優(yōu)點(diǎn)在于快速數(shù)據(jù)加載和動態(tài)負(fù)載的高適應(yīng)能力,這是因?yàn)樾写鎯ΡWC了相同記錄的所有域都在同一個(gè)集群節(jié)點(diǎn),即同一個(gè)HDFS塊。不過,行存儲的缺點(diǎn)也是顯而易見的,例如它不能支持快速查詢處理,因?yàn)楫?dāng)查詢僅僅針對多列表中的少數(shù)幾列時(shí),它不能跳過不必要的列讀取;此外,由于混合著不同數(shù)據(jù)值的列,行存儲不易獲得一個(gè)極高的壓縮比,即空間利用率不易大幅提高。盡管通過熵編碼和利用列相關(guān)性能夠獲得一個(gè)較好的壓縮比,但是復(fù)雜數(shù)據(jù)存儲實(shí)現(xiàn)會導(dǎo)致解壓開銷增大。

  

79_110429153424_1.jpg

?

  圖2 HDFS塊內(nèi)行存儲的例子

  

    本文導(dǎo)航

非常好我支持^.^

(4) 100%

不好我反對

(0) 0%

( 發(fā)表人:Spring )

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      太阳城百家乐坡解| 百家乐官网网上娱乐场开户注册| 郑州百家乐官网的玩法技巧和规则 | 威尼斯人娱乐场xpjgw5xsjgw| 百家乐官网美女视频聊天| 单机百家乐官网棋牌| 新锦江百家乐娱乐场开户注册| 百家乐官网游戏软件出售| 百家乐娱乐网代理佣金| 百家乐官网赌缆十三式| 百家乐真人娱乐平台| 百家乐官网出闲几率| 百家乐群必胜打朽法| 百家乐官网太阳城| 赌球网站排名| 圣保罗百家乐官网的玩法技巧和规则 | 利都百家乐官网国际娱乐平台 | 广发百家乐官网的玩法技巧和规则| 现金网信誉排行| 利都百家乐官网国际赌场娱乐网规则| 百家乐网址皇冠现金网| 皇冠网百家乐官网赢钱| 贝博百家乐的玩法技巧和规则 | 亲朋棋牌下载| 澳门赌百家乐心法| 邯郸百家乐官网园真钱区| 全讯网历史回顾| 庞博百家乐官网的玩法技巧和规则 | 百家乐筹码素材| 迪威百家乐官网娱乐| 老虎机派通娱乐| 澳门百家乐官网论坛| 浮山县| 太阳城公司| 百家乐2号干扰| 百家乐官网优惠现金| 高级百家乐桌布| 做生意的风水| 百家乐官网赌博策略论坛| 梅州市| 棋牌游戏开发商|