CTO訓練營郭江亮:百度私有云和開放云中的大數據平臺
原創百度開放云大數據平臺研發經理郭江亮在由51CTO高招主辦的“CTO訓練營第四課百度技術專場”做了主題為“百度私有云和開放云中的大數據平臺”的分享。其內容主要介紹百度私有云中的大規模分布式計算技術和百度開放云中的大數據產品、技術架構以及當前百度對開放云+大數據+行業的一些思考。
目前,百度在云計算和大數據,金融和醫療的結合中均有一些產品思路和經驗積累。百度的前幾年是做分布式存儲,近幾年在做分布式計算,比較新興的像Hadoop。從14年開始,百度推出了在往外孵化出的公有云業務,是類似于阿里云、AWS這樣的企業級服務的開放云,公有云是以前百度做內部的風控架構后來擴展做對外的企業服務。
私有云的分布式計算
私有云分布式計算技術棧
在Matrix的資源調度之上,做分布式計算。分布式計算和底層資源相當于是適配器,這兩個結合起來和社區里的對應。往上,是各種計算引擎,離線計算還有實時的。底層資源的兩個是實時計算平臺。中間是DCE,是一個類似于Hadoop的計算引擎。旁邊有ELF的一個平臺,最右邊是spark。
百度所有機器都已經資源化,把所有的資源管理起來,然后離線,離線是全部已經保存下來。現在百度在逐步做一些在線的業務,因為在線業務和離線業務還是不一樣的,所以百度的機房也是在線機房和離線機房分開的。
為什么以前百度都是自研呢?因為百度內部有一些自己的訴求,同時也涉及一些其他問題。百度本身是一個做搜索的大數據公司,它不僅僅是一個數據公司。其所面臨的數據挑戰非常巨大,超過社區所面對的問題。所以百度一開始也有參考社區的一些思路,但是后面由于需求量又大又快,社區的思路完全跟不上,才開始走上自研的道路。這個相當于是百度整個的技術站。
除了谷歌之外,百度的應該是全球***的一個離線計算集群了,或者離線計算平臺。一開始是從Hadoop出來,中間做了很多C++的擴展,因為它要解決很多性能問題。
百度離線計算
- 為百度提供高吞吐的離線計算服務
- 10W+臺服務器, 20+個集群,單機群***規模1.3w臺
- 日均吞吐百PB級,日均作業數50w+
百度實時計算
- 為百度提供高時效性的計算服務,毫秒級延遲
- 集群規模近1W、應用產品線80+
- 提供通用流式Join解決方案
另一個思路,搭建這些平臺還需要相應的技術專家,還需要一些集群資源等網絡,以及成本,成本是比較高昂的。但是如果是不想建的話,可以選擇公有云,比如說百度開放云。
開放云和大數據的平臺
百度開放云,可以做數據應用,支撐R+的用戶數據,主要對象是一些APP,比如說手機百度、百度地圖這些,所有數據也是用統一的收集和處理,所以有多個產品的支撐,有專業的技術專家。
百度開放云產品概覽
大數據處理
如果遇到一個數據需求,會有完整的流程規劃,從數據的收集到存儲,中間可能還有一個傳輸。從收集、傳輸、存儲,一直到數據的處理變形,到最終的數據分析和應用,是一個完整的流。但是現在的數據和之前的不一樣,比如CRM,現在從互聯網到移動互聯網,數據種類越來越多,對數據的時效性,都有很高的要求。所以如何能快速的收集,并且能夠快速的傳輸,這個也是一個問題。
收集,百度面對原始數據種類多樣,格式、位置、存儲、時效性等迥異問題,采用的是從異構數據源中收集數據并轉換成相應的格式,從而方便做處理。
存儲有多種需求,一些行業存在特殊需求,比如說基因行業、基因大數據,做測序。我們一個人的基因數據要測的話,要上很多G,量比較大。還有時效性的要求。像廣電是網絡的需求,但是廣電又有一些網絡出來,都是在線的模式。另外還有一個硬盤IP,存量數據的話,硬盤就是比較好用的方式,當然里面有一些數據安全,有一些加密甚至是協議在里面??赡苁怯脖P快遞的方式,把存量的數據全部放上來之后,后續增量的數據,先慢慢的通過公網以后,斷電也好,可以慢慢的持續的上升。這個是存儲。因為是大數據的處理,所以首先要把它存起來。收集好的數據需要根據成本、格式、查詢、業務邏輯等需求,存放在合適的存儲中,方便進一步分析。
變形,原始數據需要變形與增強之后才適合分析。比如網頁日志中吧IP地址替換成省市、傳感器數據的糾錯、用戶行為統計等等。
分析,通過整理好得數據分析what happened、why did it happen、what is happening和what will happen,多提些這樣的問題來幫助企業做決策。
百度開放云大數據堆棧
優勢
依托百度技術。百度搜索收錄全世界超過萬億網頁、承載中國網民每天幾十億次的請求,大數據技術支撐20多個用戶過億產品以及百萬企業客戶,2013年百度建成全球***的Hadoop集群,2014年百度大數據處理能力BaiduSort獲得國際排序大賽冠軍。
開源開放。提供開源產品托管服務或者接口完全兼容產品,方便互聯網公司和傳統企業平滑遷移,用戶無需擔心被特定平臺或者技術綁定。
產品先進。強化開源產品,讓開源產品更穩定、更高效、更安全,大大提高成熟度,云端托管服務,讓用戶聚焦業務而不是修復缺陷和運營,產品在百度內部久經考驗,適合企業部署生產環境。
BMR
BMR是Hadoop/Spark托管服務,為方便使用MapReduce、Spark、Hbase、Hive、Pig、Kafka等進行大數據處理,是國內***完全兼容開源Hadoop的大數據服務。有著幾分鐘便可創建集群,無需為節點分配、部署、優化操心;借助豐富的示例和場景教程,能夠快速上手達成業務目標。并且適用集群可大可小,支持動態伸縮,能夠有效避免資源浪費;支持計算與存儲分離,集群可以處理存放在BOS云存儲服務上。完全兼容開源社區版本的Hadoop/Spark,客戶可以使用開源標準API邊寫作業,無需任何修改便可以遷移上云端。集群內的Hadoop、Spark、Hbase等關鍵組件都支持高可用特性,確保服務可用性。
適用的業務場景有日志分析、數據整理、實時流處理。
Palo
PB級聯機分析處理(OLAP)引擎,集穩定、高效、低成本等優勢的在線報表和多維分析服務。業界領先的MPP查詢引擎、列式存儲、智能索引、向量執行;高度兼容SQL標準,并提供庫內分析、窗口函數等高級分析功能。數據、元數據多副本存儲,宕機期間不影響查詢服務,機器故障副本自動遷移。無須停服務即可建立物化視圖、更改表結構;支持靈活高效的數據恢復??梢暬汗芾恚憬莸臄祿?;支持標準的SQL操作。
適用的業務場景有聯機分析、多維分析、在線報表。
BML
針對海量數據提供的云端托管的分布式機器學習平臺,助力客戶輕松使用最前沿的機器學習技術獲得大數據預測分析能力?;诎俣葍炔糠e累多年的(包括深度學習)機器學習算法庫,國內***個機器學習服務。大同特征功能、模型訓練、模型評估和預測服務全流程,拖拽式操作。分布式、全內存集群提供強大的計算能力,海量數據也可以輕松處理。搭載多個分類、聚類、回歸、主圖模型、推薦和深度學習算法。提供數字廣告營銷、推薦系統、文本分析、故障檢測等多個完善的解決方案,能夠使用戶快速的把機器學習技術應用到業務系統中。
適用的業務場景有數字廣告營銷、商品和商家推薦、主題和摘要提取。
現在很多創業公司做公有云大數據平臺是比較困難的,因為公有云它是一個數據和應用的結合體,服務器成本、網絡成本等等,技術上比較困難,基本上會屬于***批。當然體制內的,比如政企的會有一套自己的公有云并不用BAT的。BAT體量的公司來做公有云,或者公有云大數據方面,他們成本是所有的數據。數據將來可能會越來越成為一個資產,也可以說數據的作用會越來越大。每個人可能有每個人的數據,每家小飯館,或者小公司都有自己的數據,客戶數據,營運數據,都可以作為交換發揮價值。
郭江亮認為,公有云大數據平臺有很多潛在機會,目前百度數據、公有云也在做,但是因為百度是一個信息的集成的集市,所以在應用這方面還有所欠缺。