【BDTC 2017講師專訪】彭冬:微博商業基礎大數據平臺(D+)的架構演進

BDTC 2017中國大數據技術大會將於12月7日-9日在北京新雲南皇冠假日酒店舉行,大會爲期三天。屆時,近百位技術專家將爲現場數千名的大數據行業精英、技術專家及意見領袖帶來多場技術演講,分享最新技術與實踐的洞察與經驗,探尋大數據發展的未來,領略數據與智能之美,歡迎大家前來參會。(傳送門:大會官網

日前我們採訪了大會推薦系統論壇的講師微博廣告技術專家彭冬,他講帶來題爲《微博商業化大數據平臺從0到1架構演進及應用實踐》的分享,以下爲正文:

圖片描述

彭冬,微博廣告技術專家,目前主要帶領基礎架構團隊,負責商業基礎大數據平臺(D+)及數據可視化平臺(Hubble)、智能運維體系等廣告基礎設施建設,關注於大數據、人工智能、智能運維等方向。

CSDN:請向大家介紹一下自己你和目前所從事的工作,以及關注哪些技術領域?

彭冬:我2011年加入微博廣告團隊,先後負責了品牌廣告和競價粉絲通廣告等多個微博商業化產品的架構設計和核心功能開發。目前主要帶領基礎架構團隊,負責商業基礎大數據平臺(D+)、數據可視化平臺(Hubble)、智能運維體系等廣告基礎設施建設,關注於大數據、人工智能、智能運維等方向。

CSDN:最近幾個月以來,微博熱點事件出現一些新的特點,一方面熱點更頻繁,喫瓜羣衆絡繹不絕,另一方面影響的業務範圍越來越廣。同時我們也知道,微博也是的社交場景也極其複雜,隨着數據量日益增長的情況下,微博的大數據平臺正面臨着怎樣的技術挑戰?

彭冬:熱點事件經常出現在微博上面,也體現了微博非常強的社交屬性及其傳播特性,熱門事件發生時,用戶活躍度劇增,沉睡的用戶也會被喚醒,流量會在短時間內出現成倍的增長,會對我們整個系統帶來極大的挑戰。對於我們大數據平臺而言,數據存儲部分主要是數據規模的突增以及網絡IO的突增對集羣的考驗,計算部分尤其是實時計算部分需要更多的資源,此時我們通常會通過一定智能調度策略優先保證核心計算資源。從數據分析層面,因爲主要使用離線計算,對實時性要求不高,可以適當避開高峯對資源的爭搶。

CSDN:目前微博的商業基礎大數據平臺(D+)的架構是怎樣的?

彭冬:這裏也簡單講一下微博商業基礎大數據平臺(D+)的定位和設計目標。微博從2011年開始進行商業化嘗試,逐漸形成了非常完善的廣告產品生態,如果說商業化第一階段主要以新產品形態的開拓爲目標的話,微博商業化的第二個階段應該是商業產品的精細化。精細化尤其是依託大數據平臺來構建商業數據分析的上層決策會顯得至關重要。D+定位於建立商業化數據(與商業化有關的一切數據)的完整生態,他包含數據採集、存儲、數據倉庫和數據建模、計算(離線和實時)、數據可視化和數據APIs平臺的整個體系。其設計目標是作爲最基礎最底層的基礎平臺,支撐任何業務方對商業數據的分析需求。D+的架構技術棧如下圖所示。

圖片描述

圖1 D+整體架構技術棧

簡單來說,D+分爲數據層、計算層、中間層和應用層。D+通過APIs可以與上層更多的應用進行組合,比如監控系統和實驗平臺等。

CSDN:可否簡單分享D+的架構演進過程?

彭冬: D+經歷了大致三個階段的發展:

  1. 0.1版本 (2011-2015)
    這個版本主要是將各種異構數據進行整合與蒐集,通過scribe蒐集所有的廣告業務數據、日誌數據到數據中心,爲監控平臺提供了數據分析能力,同時建立了簡單的數據報表功能。

  2. 1.0版本(2016-2017)
    我們發現scribe作爲數據蒐集工具經常會有嚴重的日誌堆積問題,在1.0的版本我們引入了ELK套件,我們對filebeat進行了二次開發,同時發佈了微博廣告版本的日誌採集工具farmer,另一方面,我們將scribe替換成了Kafka,引入了多種數據聚合與關聯技術。對於時序數據我們引入了Druid作爲引擎,爲監控平臺、實驗平臺、查詢引擎提供實時的數據存取架構。同時,我們對日誌搜索這塊使用了ES,對全量數據構建索引。廣告主報表引擎則基於OLS(微博內部實時流計算引擎)來構建。

  3. 2.0版本(2017-)
    在2.0版本中,我們對D+做了重新定位,D+作爲底層基礎數據平臺,爲各個業務方提供數據存取、數據分析、數據挖掘等基礎數據支撐。我們構建了分層的數據倉庫系統,建立了基於業務需求的數據集市。同時在實時計算部分引入了flink。爲了提供高效的數據分析能力,我們構建了OLAP平臺,在D+上支持ad-hoc查詢。

CSDN:同時,微博微博廣告系統Hubble也是具有着極其強大的,是一個秒級大規模分佈式智能監控平臺,Hubble在目前的核心功能是什麼?解決了哪些核心問題?

彭冬:我們知道Hubble是比較著名的太空望遠鏡,微博廣告Hubble平臺就如同這顆先進的望遠鏡能窺探浩瀚宇宙(大數據)的價值。我們是希望Hubble能夠作爲一個開發的數據可視化平臺,爲商業數據分析、數據計算等提供可視化的功能。Hubble 1.0最初是構建在從數據採集到實時處理再到可視化的一個智能監控平臺,隨着Hubble的不斷髮展,Hubble 2.0目前已經超越了當時僅僅支撐了智能監控平臺的定位,目前專注於數據可視化,而底層數據部分託管於D+平臺。我們智能監控平臺也在不斷髮展演進,不僅在大規模時序數據實時監控上,也在動態閾值、故障預測、異常點監測等智能運維(AIOps)方向有一定的實踐和嘗試。

CSDN:它的整體架構是?

彭冬: Hubble 1.0(監控平臺部分)底層計算部分的整體架構如圖2所示

圖片描述

圖2 Hubble 1.0(監控平臺部分)底層計算部分的整體架構圖

CSDN:不管是大數據平臺(D+)還是Hubble,都有着哪些機器學習的應用?

彭冬:說到大數據,不可避免就要說到數據挖掘和用戶畫像。D+以其強大的數據平臺工程體系,在存儲上和計算上可以支撐廣告的用戶畫像和數據挖掘的能力,當然我們也依賴於公司構建的集羣基礎設施如Spark、Tensorflow等。在AIOps上我們使用LSTM嘗試使用動態閾值來進行監控報警。由於LSTM(長短時記憶網絡,RNN變體)能很好抓住時間序列上下文可能存在的聯繫的特性,因此模型訓練方面,我們選擇了LSTM模型,Python中有不少包可以直接調用來構建LSTM模型,比如Keras,Tensorflow,Theano等,我們選用Keras作爲本文模型定義與算法實現的機器學習框架,選擇backend爲TensorFlow,同時使用均方誤差(mean squared error)作爲誤差的計算方式,並採用RMSprop算法作爲權重參數的迭代更新方案。

圖片描述

圖3基於機器學習的趨勢預測架構圖

CSDN:其實您做了非常多的架構工作,可否談下您對架構的理解?

彭冬:我覺得架構要做到三點。第一個是架構要適應業務的發展,你可以看到我們在D+和Hubble上進行了多次的迭代和架構優化,這個也是隨着業務的不斷髮展演進而進行的,鳥槍換炮是一個過程;其次是架構要有一定程度的前瞻性,要借鑑業界的做法吸納別人的長處,當然這裏面也有不少系統工程問題,比如如何考慮系統可擴展性和兼容性;最後一點是架構存在一定的方法論,架構應該是方法論與實踐論的結合,紙上得來終覺淺,絕知此事要躬行。

CSDN:以及一個架構師需要具備的技能或素養?

彭冬:我經常跟團隊的同學分享一個架構師的成長階段。第一個階段應該是習慣養成階段,應該注重於培養良好的編碼和設計習慣,注重代碼量和代碼質量,注重抽象;第二個階段應該是培養模塊和系統設計能力,在關鍵系統設計上總結方法積累經驗,懂得資源(網絡IO、磁盤IO、內存、CPU等等)如何最優化利用,系統如何分層,掌握可用性、高併發、高性能的一些方法論和設計技巧;第三個階段是培養業務思維,能站在業務需求角度思考系統架構的合理性和架構演進方向,能發現影響業務發展的系統瓶頸;第四個階段架構師應具備產品思維。

這四個階段也決定了架構師的四個層次,大部分架構師停留在第二個階段和第三個階段,第四個階段的架構師非常稀缺,產品思維是要求架構師能夠具備極其強大的系統抽象能力,將系統轉化爲產品,產品能非常方便地被使用。如果說前面的階段是把系統做的足夠複雜,第四個階段則是把系統做的足夠簡單,所謂架構師的終極目標是噁心自己(設計了非常強大的系統),成全別人(非常易於用戶使用)就是這個道理。

CSDN:最後,我也通過您的博客瞭解到,您對區塊鏈的知識也非常感興趣,可否分享下您和區塊鏈技術的緣分?

彭冬:其實接觸比特幣很早,2013年挖過比特幣,差點還做了比特幣交易平臺方向的創業。去年開始深入研究了一下比特幣底層的區塊鏈技術,發現原來技術也有玩的這麼溜的,因爲區塊鏈技術其實只是進行了一些成熟技術的整合,沒想到卻在全球範圍影響這麼大。這裏面有個比較有意思的事情我經常拿來鼓勵我們的工程師,比特幣的創始人中本聰大概是60歲完成的比特幣代碼,能夠風靡全球,咱們還這麼年輕還怕什麼。

CSDN:比特幣的底層區塊鏈技術被髮明之後,大量的基於區塊鏈技術的應用被開發出來,可否從您角度分析下區塊鏈技術的應用?

彭冬:區塊鏈技術的研究這兩年熱度開始逐漸起來,很多國家央行等政府部門都開始重視,包括微軟、IBM、谷歌、百度、騰訊、微博在內的各大企業也紛紛入場,也印證了區塊鏈技術的熱度。因爲去中心化、安全性、時間戳機制等機制和特點,能夠保證系統容錯和公平性,保證信息不可篡改,區塊鏈技術被應用在數字貨幣、版權、預測、社交、授權等方向。目前微博廣告團隊正在研究如何建立可信網絡聯盟,以在各個廣告主、第三方監測機構和微博廣告平臺之間建立客觀公正的監測機制;同時我們也在研究在大數據場景下,如何使用區塊鏈技術建立公平的自動化的數據市場交易平臺等等。


洞悉大數據技術最新發展方向,瞭解大數據技術在金融、交通、醫療、工業等熱門領域的最佳實踐,盡在2017中國大數據技術大會。將於12月7日-9日在北京新雲南皇冠假日酒店舉行,誠邀各位的蒞臨。大會官網:點擊報名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章