大數據平臺演進之路 | 淘寶 & 滴滴 & 美團

聲明:本文參考了淘寶/滴滴/美團發表的關於大數據平臺建設的文章基礎上予以整理。參考連接和做者在文末給出。
在此對三家公司的技術人員無私奉獻精神表示感謝,若是文章形成了侵權行爲,請聯繫本人刪除。本人在尊重事實的基礎上從新組織了語言和內容,旨在給讀者揭開一個完善的大數據平臺的組成和發展過程。
本文在未經本人容許狀況下不得轉載,不然追究版權責任。html

By 大數據技術與架構
場景描述:但願本文對那些正在建設大數據平臺的同窗們有所啓發。面試

關鍵詞:大數據平臺數據庫

大數據平臺是爲了計算,現今社會所產生的愈來愈大的數據量,以存儲、運算、展示做爲目的的平臺。大數據技術是指從各類各樣類型的數據中,快速得到有價值信息的能力。適用於大數據的技術,包括大規模並行處理(MPP)數據庫,數據挖掘電網,分佈式文件系統,分佈式數據庫,雲計算平臺,互聯網,和可擴展的存儲系統。
總結,大數據平臺的出現伴隨着業務的不斷髮展,數據的不斷增加,數據需求的不斷增長,數據分析及挖掘的場景而逐步造成。本文講述淘寶、滴滴和美團三家互聯網公司的大數據平臺的發展歷程,爲你們提供建設大數據平臺的基本思路。segmentfault

淘寶

淘寶多是中國互聯網業界較早搭建了本身大數據平臺的公司,下圖是淘寶早期的Hadoop大數據平臺,比較典型。服務器

file
雲梯數據倉庫架構-圖來源於《淘寶大數據平臺之路》數據結構

淘寶的大數據平臺基本也是分紅三個部分,上面是數據源與數據同步;中間是雲梯1,也就是淘寶的Hadoop大數據集羣;下面是大數據的應用,使用大數據集羣的計算結果。架構

數據源主要來自Oracle和MySQL的備庫,以及日誌系統和爬蟲系統,這些數據經過數據同步網關服務器導入到Hadoop集羣中。其中DataExchange非實時全量同步數據庫數據,DBSync實時同步數據庫增量數據,TimeTunnel實時同步日誌和爬蟲數據。數據所有寫入到HDFS中。併發

file
數據同步工具-圖來源於《淘寶大數據平臺之路》機器學習

在Hadoop中的計算任務會經過天網調度系統,根據集羣資源和做業優先級,調度做業的提交和執行。計算結果寫入到HDFS,再通過DataExchange同步到MySQL和Oracle數據庫。處於平臺下方的數據魔方、推薦系統等從數據庫中讀取數據,就能夠實時響應用戶的操做請求。編輯器

淘寶大數據平臺的核心是位於架構圖左側的天網調度系統,提交到Hadoop集羣上的任務須要按序按優先級調度執行,Hadoop集羣上已經定義好的任務也須要調度執行,什麼時候從數據庫、日誌、爬蟲系統導入數據也須要調度執行,什麼時候將Hadoop執行結果導出到應用系統的數據庫,也須要調度執行。能夠說,整個大數據平臺都是在天網調度系統的統一規劃和安排下進行運做的。

DBSync、TimeTunnel、DataExchange這些數據同步組件也是淘寶內部開發的,能夠針對不一樣的數據源和同步需求進行數據導入導出。這些組件淘寶大都已經開源,咱們能夠參考使用。

滴滴

到目前爲止大概經歷了三個階段,第一階段是業務方自建小集羣;第二階段是集中式大集羣、平臺化;第三階段是 SQL 化。
file
圖來源於《滴滴大數據平臺演進之路》

離線計算平臺架構以下。滴滴的離線大數據平臺是基於Hadoo 2(HDFS、Yarn、MapReduce)和Spark以及Hive構建,在此基礎上開發了本身的調度系統和開發系統。調度系統和前面其餘系統同樣,調度大數據做業的優先級和執行順序。開發平臺是一個可視化的SQL編輯器,能夠方便地查詢表結構、開發SQL,併發布到大數據集羣上。

file
圖來源於《滴滴大數據平臺演進之路》

此外,滴滴還對HBase重度使用,並對相關產品(HBase、Phoenix)作了一些自定義的開發,維護着一個和實時、離線兩個大數據平臺同級別的HBase平臺,它的架構圖以下。

file
圖來源於《滴滴大數據平臺演進之路》

來自於實時計算平臺和離線計算平臺的計算結果被保存到HBase中,而後應用程序經過Phoenix訪問HBase。而Phoenix是一個構建在HBase上的SQL引擎,能夠經過SQL方式訪問HBase上的數據。

爲了最大程度方便業務方開發和管理流計算任務,滴滴構建了以下圖所示的實時計算平臺。在流計算引擎基礎上提供了 StreamSQL IDE、監控報警、診斷體系、血緣關係、任務管控等能力。
file
圖來源於《滴滴大數據平臺演進之路》

美團

咱們以數據流的架構角度介紹一下整個美團數據平臺的架構,大數據平臺的數據源來自MySQL數據庫和日誌,數據庫經過Canal得到MySQL的binlog,輸出給消息隊列Kafka,日誌經過Flume也輸出到Kafka,同時也會迴流到ODPS。

file
圖來源於《美團大數據平臺》

Kafka的數據會被流式計算和批處理計算兩個引擎分別消費。流處理使用Storm進行計算,結果輸出到HBase或者數據庫。批處理計算使用Hive進行分析計算,結果輸出到查詢系統和BI(商業智能)平臺。

數據分析師能夠經過BI產品平臺進行交互式的數據查詢訪問,也能夠經過可視化的報表工具查看已經處理好的經常使用分析指標。公司高管也是經過這個平臺上的天機系統查看公司主要業務指標和報表。

file

這幅圖是離線數據平臺的部署架構圖,最下面是三個基礎服務,包括Yarn、HDFS、HiveMeta。不一樣的計算場景提供不一樣的計算引擎支持。若是是新建的公司,其實這裏是有一些架構選型的。Cloud Table是本身作的HBase分裝封口。咱們使用Hive構建數據倉庫,用Spark在數據挖掘和機器學習,Presto支持Adhoc上查詢,也可能寫一些複雜的SQL。對應關係這裏Presto沒有部署到Yarn,跟Yarn是同步的,Spark 是 on Yarn跑。目前Hive仍是依賴Mapreduce的,目前嘗試着Hive on tez的測試和部署上線。

另外咱們得知,在實時數倉的建設中,美團已經從原來的Storm遷移至Flink,Flink的API、容錯機制與狀態持久化機制均可以解決一部分使用Storm中遇到的問題。Flink不只支持了大量經常使用的SQL語句,基本覆蓋了經常使用開發場景。並且Flink的Table能夠經過TableSchema進行管理,支持豐富的數據類型和數據結構以及數據源。能夠很容易的和現有的元數據管理系統或配置管理系統結合。

美團大數據平臺的整個過程管理經過調度平臺進行管理。公司內部開發者使用數據開發平臺訪問大數據平臺,進行ETL(數據提取、轉換、裝載)開發,提交任務做業並進行數據管理。

參考連接和做者:
威少Java
https://www.jianshu.com/p/588...

淘寶大數據之路
http://www.raincent.com/conte...

滴滴的大數據計算平臺演進之路
https://blog.csdn.net/yulidrf...

美團大數據平臺
https://blog.csdn.net/love284...

大數據技術與架構
歡迎掃碼關注個人公衆號,回覆【JAVAPDF】能夠得到一份200頁秋招面試題!

相關文章
相關標籤/搜索