巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

大資料文摘發表於2017-07-03

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

全球最好的資料架構長什麼樣?


我們認為使用事件資料的公司會有很強的競爭優勢。這一點在世界領先的科技公司中似乎都得到了證明。臉書、亞馬遜、Airbnb,Pinterest和Netflix公司的資料工程師團隊一直令人稱奇。他們的工作為軟體和商務的認知設定了新準則。

因為他們的產品被廣泛的使用,這些團隊必須不斷重新定義大規模資料分析。他們在資料架構上已經投入數以百萬計的資金,並且擁有比大多數公司的整個工程部門人數還多的資料團隊。

如果你對大型公司的大資料框架感到好奇,下面我們將介紹最好的整合架構。

Netflix 網飛

儘管擁有9300萬月活躍使用者,網飛在互動上沒有任何缺陷。他們每天可以收集到大概5千億條事件資料,大概佔1.3PB。在高峰時段,他們每秒會記錄800萬條資料。網飛僱傭的資料工程師和分析師超過100人。

下面是在網飛之前公佈的公司資料架構的簡圖,主要包括Apache Kafka, 彈性搜尋, AWS S3, Apache Spark, Apache Hadoop, 和EMR。

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

來源:http://techblog.netflix.com/2016/02/evolution-of-netflix-data-pipeline.html

Facebook 臉書

由於擁有超過10億的活躍使用者,臉書的資料庫是世界上最大的資料庫之一,儲存了超過300pb的資料。這些資料會用於各種應用程式,從傳統的批處理,到影像分析、機器學習和實時互動分析。

為了實現大規模互動查詢,臉書的工程師設計了Presto,一個使用特定分析最佳化的定製分散式SQL查詢引擎。上千員工在使用這一引擎,這些人每天跨越各種不同的後端資料庫,如Hive, HBase, 和Scribe,執行超過3萬個查詢。

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

Airbnb 愛彼迎

愛彼迎支援超過1億使用者對200萬條房屋記錄進行查詢。另外,愛彼迎可以為使用者智慧地提供旅行建議,這對其發展是非常重要的。他們的團隊建立了一個很棒的部落格AirbnbEng,去年他們在部落格上介紹了愛彼迎的資料架構。

在我們去年辦的一個聚會中,愛彼迎的資料科學部的經理, Elena Grewal說“要建立一個世界級的分析團隊”。他提到愛彼迎的資料團隊已經超過30人,公司每年付給這些職員的薪水超過500萬美元。

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析


Pinterest 品趣志

品趣志有超過1億的月活躍使用者和超過100億的月頁面訪問量。在2015年,他們的資料團隊的工程師就超過了250個。他們的架構很大程度上依賴於Apache Kafka、Storm、Hadoop、HBase 和 Redshift。

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

品趣志的資料架構概覽

品趣志的團隊不只需要持續記錄巨量的客戶資料,他們還需要給他們的廣告商提供詳細的分析結論。Tongbo Huang寫過“在品趣志的背後:建立品趣志分析系統”(https://medium.com/@Pinterest_Engineering/behind-the-pins-building-analytics-f7b508cdacab?s=hi-from-keen-io),該文章介紹了他們怎樣改進資料分析軟體棧以滿足上述的需求。下圖說明了他們如何運用Apache Kafka、AWS S3、和 HBase來實現目標的:

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

Pinterest商務分析系統資料架構

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

Pinterest商務分析系統客戶介面

Twitter / Crashlytics

Crashlytics Answers團隊建立了用來處理每天百萬記的移動裝置事件的架構。

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

事件接收器

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

存檔

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

批處理

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

運算速度

巨無霸們的資料架構大比拼:Facebook Amazon NetFlix Airbnb的海量資料如何記錄分析

組合檢視

致謝

感謝協作資料工程社群,他們不僅持續發明新的資料科技,並且堅持開源並分享他們的知識。如果不是之前那麼多工程師團隊所做的基礎工作,我們的工作不可能完成。同樣如果沒有那些日以繼夜一直與我們並肩作戰的人,我們的工作也不可能完成。歡迎在文章後進行評論和反饋。

特別感謝上面提到的文章的作者和架構師:網飛的Steven Wu, 臉書Presto的Martin Traverso , AirbnbEng,Pinterest Engineering, 和 Crashlytics Answers 的Ed Solovey 。

作者 | Michelle Wetzler

編譯 | 璐、穎子

原文連結:https://blog.keen.io/architecture-of-giants-data-stacks-at-facebook-netflix-airbnb-and-pinterest-9b7cd881af54

相關文章