免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

Facebook技術(shù)體系窺探之P級數(shù)據(jù) | ChenQJ | On the Road

 openlog 2011-02-12

Facebook技術(shù)體系窺探之P級數(shù)據(jù)

我們來看一下Facebook處理P級數(shù)據(jù)的兩個案例:圖片存儲和數(shù)據(jù)倉庫

Facebook目前是世界上最大的圖片共享網(wǎng)站,用戶上傳了超過20億的圖片,每張圖片會被處理成四種分辨率,所以總的存儲在80億以上。為了存儲這些圖片,圖片存儲方案經(jīng)過了三個階段的改進(jìn)

第一階段,使用商用的NFS做文件存儲,龐大的圖片數(shù)量產(chǎn)生了大量的元數(shù)據(jù),遠(yuǎn)遠(yuǎn)超過了NFS的緩存能力,導(dǎo)致I/O居高不下

第二階段,建立自己的緩存層,將較小的圖片(小頭像)放入叫做“Cachr”的緩存系統(tǒng)中,同時,對NFS文件句柄做緩存

第三階段,新的圖片體系:Haystack。Haystack將服務(wù)層和存儲層合并為一個物理層,實(shí)現(xiàn)了一個基于HTTP的圖片服務(wù)器,把圖片存儲在名為Haystack的通用對象存儲中,目標(biāo)是減少圖片讀取時不必要的元數(shù)據(jù)讀取操作。Haystack圖片體系在功能上可以分為:HTTP Server,Photo Store,Haystack Object Store,F(xiàn)ileSystem,Storage幾個部分。

Storage是普通的2U存儲刀片服務(wù)器,有超過12個1TB的SATA硬盤,采用RAID6做冗余。FileSystem采用XFS文件系統(tǒng)。

Haystack Object Store采用日志模式,只支持追加操作。存儲文件由連續(xù)的Needle組成,每個Needle代表一個對象。用于做圖片存儲時,包含了圖片的實(shí)際數(shù)據(jù)以及header和footer。Needle可以通過<Offset, Key, Alternative Key, Cookie>唯一標(biāo)示

image

image

Haystack Store 還包括一個索引文件,每個Needle都在索引文件中有對應(yīng)的索引記錄,且順序一致。索引文件提供了查找Haystack store file中的needle所必須的最小的metedata。索引文件可以通過haystack store file重建。索引文件的大小一般小于store文件的1%。

image

image

Photo Store啟動時會將索引文件加載到內(nèi)存中重新組織,圖片是通過一個64位的Key在內(nèi)存中定位的。獲取圖片的Offset和size后就可以在Haystack Object Store中讀取實(shí)際的圖片數(shù)據(jù)了

image

HTTP框架是使用了libevent提供的evhttp server。使用多線程,同一時間內(nèi),每個線程能夠處理一個HTTP請求。因?yàn)橹饕?fù)載在I/O操作,因此HTTP服務(wù)器的性能并不是至關(guān)重要的。

Facebook通過Scribe收集了大量的數(shù)據(jù)日志,每天的增量超過了10T,這些數(shù)據(jù)日志可以幫助廣告推送、NewsFeed生成,好友推薦,入侵檢測等。如何在可控時間內(nèi)完成這些海量數(shù)據(jù)的挖掘工作成為了一大難題。最初,F(xiàn)acebook采用傳統(tǒng)的數(shù)據(jù)挖掘方案,但隨著數(shù)據(jù)量的增大任務(wù)運(yùn)行的時間越來越長,并不具備可擴(kuò)展性。于是Facebook開始嘗試使用Hadoop,并在使用過程中開發(fā)了自己的數(shù)據(jù)倉庫系統(tǒng)Hive。如今Facebook的Hive-Hadoop 集群擁有超過2250臺機(jī)器和23000個核心,數(shù)據(jù)容量超過36PB,大部分任務(wù)通過Hive完成,每天有超過25000個Hive Jobs在運(yùn)行。整個系統(tǒng)體系如下圖所示

image

整個系統(tǒng)通過Scribe收集日志,經(jīng)過過濾后存儲在Scribe-Hadoop集群上,成為Hive-Hadoop 生產(chǎn)集群的數(shù)據(jù)源之一。另外一個數(shù)據(jù)源則是系統(tǒng)存儲數(shù)據(jù)的Mysql集群。Hive-Hadoop生產(chǎn)集群運(yùn)算完成后,將運(yùn)算結(jié)果寫回到Mysql集群中,或者送到Orcale RAC中做進(jìn)一步的挖掘。同時,還通過Hive復(fù)制將數(shù)據(jù)推送到一個Adhoc Hive-Hadoop 集群,用來為業(yè)務(wù)分析人員提供Adhoc查詢。為了方便業(yè)務(wù)分析人員使用Hive,F(xiàn)acebook還開發(fā)了一個Web工具叫HiPal

在數(shù)據(jù)收集部分,F(xiàn)acebook在Scribe和HDFS的基礎(chǔ)上開發(fā)了一個接近實(shí)時的數(shù)據(jù)收集系統(tǒng),稱之為DataFreeway系統(tǒng)。數(shù)據(jù)流如下所示

29191045[20101009-1800483]

 

從圖片存儲和Hive-Hadoop方案可以看出,面對海量數(shù)據(jù),F(xiàn)acebook仍延續(xù)他們一貫的實(shí)用風(fēng)格,積極使用開源工具,或是構(gòu)建簡單實(shí)用的方案。這里沒有科學(xué)家,只有解決問題的開發(fā)工程師

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多