中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Facebook有哪些大數據處理架構及應用的軟件

發布時間:2021-09-26 15:15:14 來源:億速云 閱讀:232 作者:iii 欄目:建站服務器

這篇文章主要講解了“Facebook有哪些大數據處理架構及應用的軟件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Facebook有哪些大數據處理架構及應用的軟件”吧!

Facebook大數據技術架構的演進路線
  Facebook一直是大數據技術最積極的應用者,因為它擁有的數據量極其巨大,一份資料顯示2011年它擁有的壓縮數據已經有25PB,未壓縮數據150PB,每天產生的未壓縮的新數據有400TB。在Facebook,大數據技術被廣泛應用在廣告、新聞源、消息/聊天、搜索、站點安全、特定分析、報告等各個領域。Facebook也是Apache大數據開源項目的最大貢獻者之一。Facebook是2007年前后正式轉向Hadoop計算框架,隨之它向Apache基金會貢獻了大名鼎鼎的Hive、ZooKeeper、Scribe、Cassandra等開源工具,當前Facebook的開源進程仍在積極推進著。Facebook大數據技術架構經歷了三個演變階段。

    Facebook早期的大數據技術架構是建立在Hadoop、HBase、Hive、Scribe等開源工具基礎上的。日志數據流從HTTP服務器產生,通過日志收集系統Scribe耗費秒級時間傳送到共享存儲NFS文件系統,然后通過小時級的Copier/Loader(即MapReduce作業)將數據文件上傳到Hadoop。數據摘要通過每天例行的流水作業產生,它是基于Hive的類SQL語言開發,結果會定期會更新到前端的Mysql服務器,以便通過OLTP工具產生報表。Hadoop集群節點有3000個,擴展性和容錯性方面的問題能夠很好地解決,但是早期系統的主要問題是整體的處理延遲較大,從日志產生起1~2天后才能得到最終的報表。

    Facebook當前的大數據技術架構是在早期架構基礎上對數據傳輸通道和數據處理系統進行了優化,如圖所示,主要分為分布式日志系統Scribe、分布式存儲系統HDFS和HBase、分布式計算和分析系統(MapReduce、Puma和Hive)等。
Facebook有哪些大數據處理架構及應用的軟件

其中,Scribe日志系統用于聚合來自大量HTTP服務器的日志數據。Thrift是Facebook提供的軟件框架,用于跨語言的服務開發,能夠在C 、Java、PHP 、Python和Ruby等語言之間實現無縫的支持。采用Thrift RPC來調用Scribe日志收集服務進行日志數據匯總。Scribe Policy是日志流量和模型管理節點,將元數據傳送給Scribe客戶端和Scribe HDFS,采集的日志數據存儲在Scribe HDFS。Facebook對早期系統優化后的數據通道稱為Data Freeway,能夠處理峰值9GB/s的數據并且端到端的延遲在10s以內,支持超過2500種的日志種類。Data Freeway主要包括4個組件,Scribe、Calligraphus、Continuous Copier和PTail。Scribe用于客戶端,負責通過Thrift RPC發送數據;Calligraphus在中間層梳理數據并寫到HDFS,它提供了日志種類的管理,利用Zookeeper進行輔助;Continuous Copier將文件從一個HDFS拷貝到另一個HDFS;PTail并行地tail多個HDFS上的目錄,并寫文件數據到標準輸出。在當前架構中,一部分數據處理仍然以批處理的方式通過MapReduce進行小時級的處理,存儲在中央的HDFS,每天通過Hive進行分析處理。另一部分接近實時的數據流則通過Puma來進行分鐘級的處理。Facebook對專門分析提供Peregrine(Hipal)工具、對周期性分析提供Nocron工具進行分析。

    Facebook未來的大數據技術架構的雛形已經出來。首先開源的是可能替代Hadoop系統中MapReduce的Corona,類似于Yahoo提出的YARN。Corona最大的一個進步是其集群管理器做到了基于CPU、內存和其他作業處理的需求資源的管理,這可以使得Corona既可以處理MapReduce 作業,也可以處理非MapReduce 作業,使Hadoop集群的應用領域更加廣泛。二是Facebook最新的交互式大數據查詢系統Presto,類似于Cloudera的Impala和Hortonworks的Stinger,解決了Facebook迅速膨脹的海量數據倉庫快速查詢需求。據Facebook稱,使用Presto進行簡單的查詢只需要幾百毫秒,即使是非常復雜的查詢,也只需數分鐘便可完成,它在內存中運行,并且不會向磁盤寫入。第三是Wormhole流計算系統,類似于Twiitter的Storm和Yahoo的Storm-YARN。第四個重要項目是Prism,它能夠運行一個超大的、能夠將全球數據中心都連起來的Hadoop集群,可能在一個數據中心宕掉的時候即時的將數據重新分布,這是一個與Google的Spanner類似的項目。

    Facebook的大數據技術架構演進路徑代表了大數據技術的發展路線,難能可貴的是,開源是Facebook一貫的路線,它和Yahoo等公司一起為大數據技術的發展作出了巨大貢獻。

Facebook所用的軟件

從某些方面來說,Facebook還是屬于LAMP類型網站,但是,為了配合其他大量的組件和服務,Facebook對已有的方法,已經做了必要的改變、拓展和修改。
比如:
Facebook依然使用PHP,但Facebook已重建新的編譯器,以滿足在其Web服務器上加載本地代碼,從而提升性能;
Facebook使用Linux系統,但為了自身目的,也已做了必要的優化。(尤其是在網絡吞吐量方面);
Facebook使用MySQL,但也對其做優化。
還有定制的系統,比如, Haystack — 高度可擴展的對象存儲,用來處理Facebook的龐大的圖片;Scribe — Facebook的日志系統。

下面展現給大家的是,全球最大的社交網站Facebook所使用到的軟件。

Memcached
Memcached是一款相當有名的軟件。它是分布式內存緩存系統。Facebook(還有大量的網站)用它作為Web服務器和MySQL服務器之間的緩存層。經過多年,Facebook已在Memcached和其相關軟件(比如,網絡棧)上做了大量優化工作。
Facebook運行著成千上萬的Memcached服務器,借以及時處理TB級的緩存數據。可以這樣說,Facebook擁有全球最大的Memcached設備。
Facebook有哪些大數據處理架構及應用的軟件

HipHop for PHP
和運行在本地服務器上代碼相比,PHP的運行速度相對較慢。HipHop把PHP代碼轉換成C++代碼,提高編譯時的性能。因為Facebook很依賴PHP來處理信息,有了HipHop,Facebook在Web服務器方面更是如虎添翼。
HipHop誕生過程:在Facebook,一小組工程師(最初是3位)用了18個月研發而成。
Facebook有哪些大數據處理架構及應用的軟件

Haystack
Haystack是Facebook高性能的圖片存儲/檢索系統。(嚴格來說,Haystack是一對象存儲,所以它不一定要存儲圖片。)Haystack的工作量超大。Facebook上有超過2百億張圖片,每張圖片以四種不同分辨率保存,所以,Facebook有超過8百億張圖片。
Haystack的作用不單是處理大量的圖片,它的性能才是亮點。我們在前面已提到,Facebook每秒大概處理120萬張圖片,這個數據并不包括其CDN處理的圖片數。這可是個驚人的數據!!!
Facebook有哪些大數據處理架構及應用的軟件

BigPipe
BigPipe是Facebook開發的動態網頁處理系統。為了達到最優,Facebook用它來處理每個網頁的分塊(也稱“Pagelets”)。
比如,聊天窗口是獨立檢索的,新聞源也是獨立檢索的。這些Pagelets是可以并發檢索,性能也隨之提高。如此,即使網站的某部分停用或崩潰后,用戶依然可以使用。
Facebook有哪些大數據處理架構及應用的軟件

Cassandra
Cassandra是一個沒有單點故障的分布式存儲系統。它是前NoSQL運動的成員之一,現已開源(已加入Apache工程)。Facebook用它來做郵箱搜索。
除了Facebook之外,Cassandra也適用于很多其他服務,比如Digg。
Facebook有哪些大數據處理架構及應用的軟件

Scribe
Scribe是個靈活多變的日志系統,Facebook把它用于多種內部用途。Scribe用途:處理Facebook級別日志,一旦有新的日志分類生成,Scribe將自動處理。(Facebook有上百個日志分類)。
Facebook有哪些大數據處理架構及應用的軟件

Hadoop and Hive
Hadoop是款開源Map/Reduce框架,它可以輕松處理海量數據。Facebook用它來做數據分析。(前面就說到了,Facebook的數據量是超海量的。)Hive起源于Facebook,Hive可以使用SQL查詢,讓非程序員比較容易使用Hadoop。(注1: Hive是是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供完整的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。 )

Facebook有哪些大數據處理架構及應用的軟件
Varnish
Varnish是一個HTTP加速器,擔當負載均衡角色,同時也用于快速處理緩存內容。
Facebook用Varnish處理圖片和用戶照片,每天都要處理十億級的請求。和Facebook其他的應用應用一樣,Varnish也是開源的。
Facebook有哪些大數據處理架構及應用的軟件

Facebook可以平穩運行,還得利于其他方面

雖然上面已經提到了一些構成Facebook系統的軟件,但是處理如此龐大的系統,本身就是一項復雜的任務。所以,下面還將列出使Facebook能平穩運行的一些東西。

雖然這里無法過多深入硬件方面,但硬件絕對是Facebook能達到空前規模的重要因素。比如,和其他大型網站一樣,Facebook也用CDN來處理靜態內容。Facebook還在美國西部的俄勒岡州建有一超大的數據中心,可以隨時增加服務器。

感謝各位的閱讀,以上就是“Facebook有哪些大數據處理架構及應用的軟件”的內容了,經過本文的學習后,相信大家對Facebook有哪些大數據處理架構及應用的軟件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

全南县| 慈溪市| 夹江县| 叶城县| 南丰县| 新和县| 密山市| 丰城市| 利川市| 宝兴县| 广饶县| 南安市| 大石桥市| 蕲春县| 远安县| 鱼台县| 新田县| 武义县| 昆山市| 拜城县| 东乌珠穆沁旗| 和平区| 玛曲县| 应城市| 江达县| 法库县| 宜城市| 会理县| 平遥县| 烟台市| 临清市| 余干县| 贡觉县| 安多县| 会同县| 惠东县| 赣州市| 新丰县| 宜阳县| 牙克石市| 宜城市|