隨著Facebook上市,其大數(shù)據(jù)模式越來越受到人們的重視,剛剛在俄勒岡州prineville新建的Facebook數(shù)據(jù)中心,更是號稱全球能效最高的數(shù)據(jù)中心。Facebook的數(shù)據(jù)業(yè)務具體有哪些特色?下面略做盤點。
Timeline
2011年12月發(fā)布的Timeline主要針對“Profile”進行調(diào)整。Facebook Vrofile相當于個人的檔案和資料,通俗來說就是個人主頁。新的個人Profile比過去版本更有視覺沖擊力。Facebook推出新的Timeline界面,它組織個人在Facebook上發(fā)布的信息,比如狀態(tài)、圖片、視頻等等,以更加結構化的方式展現(xiàn)出來,就像一本放在Facebook上的自傳。
Like按鈕
該功能可以讓用戶標注自己喜歡的頁面,并將這些頁面收錄至Facebook的搜索結果中,這一功能與谷歌利用頁面相互之間的鏈接關系來決定搜索排名類似。Facebook表示:“只要用戶點擊了‘Like’按鈕,所有的支持Open Graph協(xié)議的網(wǎng)站都將顯示在搜索引擎中。”facebook將借助Open Graph協(xié)議將搜索引擎的索引范圍進一步擴大,從而對谷歌產(chǎn)生威脅。
Memcached
是一個分布式的內(nèi)存緩存系統(tǒng),F(xiàn)acebook用它作為Web服務器和MySQL服務器之間的緩存層(因為數(shù)據(jù)庫訪問相對比較慢)。多年來,F(xiàn)acebook已經(jīng)對Memcached和它的周邊軟件進行了很多優(yōu)化,比如對network stack的優(yōu)化。Facebook每時每刻都有數(shù)10TB的數(shù)據(jù)緩存在數(shù)千臺Memcached服務務器上。它可能是世界上最大的Memcached服務器集群了。
Haystack
Haystack是Facebook的高性能圖片存取系統(tǒng),但嚴格來說,它并不僅限于存儲照片。它要管理超過200億張上傳的照片,并且每一片照片被保存為四種不同的分辨率,因此有超過800億張照片。它不僅要能處理上億的照片,而且性能也是至關重要的。Facebook每秒鐘要處理約120萬張照片,而且不包括CDN上的,這是—個驚人的數(shù)字。
Cassandra
cassandra是一個可以避免單點故障的分布式存儲系統(tǒng)。它是NoSQL運動的一個典范,并已開放源代碼。它甚至成為一個Apache項目。Facebook在收件箱搜索中使用它,除了Facebook,其他網(wǎng)站也在使用它。
Hadoop架構
Hadoop是當今在分布式/并行計算中最流行的開源工具,他不僅僅可以用于存儲的分布式文件系統(tǒng),可以用來構建大量集群計算機以實現(xiàn)大規(guī)模的數(shù)據(jù)集分布式存儲和存檔處理。Facebook是Hadoop的忠實用戶和貢獻源碼的參與者,并且Facebook還貢獻了Hive和Thrift兩個重要Hadoop組件,目前已經(jīng)收錄在Apache的Hadoop的子項目中。
Hive
Hive起源于Facebook,它使得針對Hadoop進行SQL查詢成為可能,從而非程序員也可以方便地使用。Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結構化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能,可以將SQL語句轉換換為MdpReduce任務運行。
Zookeeper、Thrift
Hadoop中的子項目還包括Zookeeper分布式鎖,提供類似Google Chubby的功能。Thrift是Hadoop的跨語言接口,可以支持多種語言,例如php和ruby。
BigPipe
BigPipe是Facebook開發(fā)的的動態(tài)網(wǎng)頁處理系統(tǒng)。為了獲得最佳性能,F(xiàn)acebook用它來按分塊處理每個網(wǎng)頁(稱為“pagelets”)。例如,聊天窗口,新聞Feed等是通過分塊分開進行傳輸?shù)?。這些pagelets可以并行工作,不僅可以提高性能,而且即使其中一部分失效或中斷,也不影響用戶的正常訪問。