777精品久无码人妻蜜桃,国产日本精品视频在线观看 ,国产亚洲99久久精品熟女av,brazzersvideosex欧美最新版,人人爽人人人爽人人爽

分享
Scan me 分享到微信

漫談地圖“開(kāi)放平臺(tái)”大數(shù)據(jù)技術(shù)

開(kāi)放平臺(tái)背后大數(shù)據(jù)的故事

  本文作者:帝都小肥羊。更多內(nèi)容請(qǐng)關(guān)注:Map_technology。

  隨著時(shí)下“大數(shù)據(jù)”概念的火熱,各方群雄都不能免俗的炒作起來(lái)。這里面有一些人,不過(guò)是隨波逐流的看熱鬧,而另一些人,則是由于團(tuán)隊(duì)業(yè)務(wù)的快速發(fā)展,真真切切的需要一種技術(shù)手段,來(lái)解決業(yè)務(wù)發(fā)展中的難題。在這種不斷挑戰(zhàn)業(yè)務(wù)難題的實(shí)戰(zhàn)中,各家都鍛煉出了自己獨(dú)門的大數(shù)據(jù)領(lǐng)域相關(guān)技術(shù)架構(gòu)。

  地圖的業(yè)務(wù)體量很大,每天產(chǎn)生的數(shù)據(jù)量亦很可觀,諸如大家耳熟能詳?shù)拿刻鞄装賰|次的定位,百億次的客戶端訪問(wèn)等等,這些數(shù)據(jù)構(gòu)成了地圖大數(shù)據(jù)計(jì)算的原材料。依賴這些豐富的原始素材,我們的道路、導(dǎo)航、軌跡、開(kāi)放平臺(tái)等迭代進(jìn)化,反哺用戶端產(chǎn)品的體驗(yàn)不斷提升,構(gòu)成了用戶和平臺(tái)的雙贏。而今天我們就把目光,聚焦在地圖“開(kāi)放平臺(tái)”背后的大數(shù)據(jù)技術(shù)上,談?wù)?ldquo;開(kāi)放平臺(tái)”背后的大數(shù)據(jù)故事。

  “開(kāi)放平臺(tái)”的大數(shù)據(jù)業(yè)務(wù),興起于2013年,彼時(shí)平臺(tái)面臨的數(shù)據(jù)量大約每天百億級(jí)別,如何將這么龐大的數(shù)據(jù)從各個(gè)地方收集上來(lái),是我們面臨的第一個(gè)難題,我們就從數(shù)據(jù)收集和交換這個(gè)環(huán)節(jié)開(kāi)始講起。

  數(shù)據(jù)交換

  從時(shí)效性上,數(shù)據(jù)的收集分為“實(shí)時(shí)”和“離線”(T+1)兩種形態(tài),從數(shù)據(jù)來(lái)源上,一般我們有日志和DB數(shù)據(jù)兩類相對(duì)普遍的來(lái)源。

  就日志收集而言,無(wú)論是實(shí)時(shí)還是離線,我們的核心產(chǎn)品都復(fù)用了公司基礎(chǔ)架構(gòu)部的系統(tǒng)組件,類比于開(kāi)源產(chǎn)品的flume、kafka等。在一些特定的業(yè)務(wù)場(chǎng)景下,我們也搭建了一套flume+kafka的數(shù)據(jù)傳輸流,以做到面對(duì)快速發(fā)展小業(yè)務(wù)必須的靈活性。

  就DB數(shù)據(jù)收集而言,除卻前文的架構(gòu),我們還需要一種將DB數(shù)據(jù)實(shí)時(shí)發(fā)送給下游的方案,諸如同步、解析binlog,然后轉(zhuǎn)發(fā)消息隊(duì)列等。目前我們同步使用了公司級(jí)的databus和開(kāi)源的canal,背后的理念類似,后續(xù)我們會(huì)逐步收斂到一種架構(gòu)上去,減少維護(hù)成本。

  離線計(jì)算

  數(shù)據(jù)交換的終點(diǎn),通常是Hadoop集群,在這里我們需要完成復(fù)雜數(shù)據(jù)的多維度、多層次的計(jì)算和存儲(chǔ),最終構(gòu)建一套開(kāi)放平臺(tái)的數(shù)據(jù)倉(cāng)庫(kù)體系。

  在數(shù)據(jù)倉(cāng)庫(kù)的內(nèi)容組織上,我們一直在學(xué)習(xí)銀行、電信等“傳統(tǒng)”領(lǐng)域的寶貴經(jīng)驗(yàn),力爭(zhēng)在快速變化的互聯(lián)網(wǎng)產(chǎn)品架構(gòu)下,尋找一種相對(duì)穩(wěn)定,可長(zhǎng)期演變的數(shù)據(jù)模型設(shè)計(jì)之道。由于內(nèi)容的組織和業(yè)務(wù)緊相關(guān),不具備普適性意義,這里不多展開(kāi)。

  在數(shù)據(jù)計(jì)算上,我們重度依賴公司級(jí)的Hadoop集群。在這之上,我們構(gòu)建了一套相對(duì)完備的數(shù)據(jù)計(jì)算平臺(tái)系統(tǒng),包括“任務(wù)調(diào)度”“資源管理”“元數(shù)據(jù)”“質(zhì)量監(jiān)控”等等。

  任務(wù)調(diào)度系統(tǒng),它承載了每天萬(wàn)級(jí)別任務(wù)的自動(dòng)觸發(fā)、回溯,解決了傳統(tǒng)crontab在任務(wù)規(guī)模上升后,維護(hù)低效的問(wèn)題,且更加直觀。

  資源管理系統(tǒng),它承載了平臺(tái)上所有任務(wù)的自動(dòng)分析,以任務(wù)的優(yōu)化、資源的節(jié)約為第一要?jiǎng)?wù),通過(guò)開(kāi)源節(jié)流里“節(jié)流”的方式,盡可能提高平臺(tái)的計(jì)算效率。

  元數(shù)據(jù)系統(tǒng),它是我們所有系統(tǒng)的meta系統(tǒng),是其他系統(tǒng)高效運(yùn)轉(zhuǎn)的“起點(diǎn)”。

  質(zhì)量監(jiān)控系統(tǒng),它承載了平臺(tái)每天萬(wàn)級(jí)別任務(wù)的基礎(chǔ)監(jiān)控和應(yīng)用級(jí)質(zhì)量控制,解決了數(shù)據(jù)不產(chǎn)出、異常波動(dòng)等各種非常規(guī)場(chǎng)景的自動(dòng)發(fā)現(xiàn),力爭(zhēng)縮短異常“發(fā)生”“發(fā)現(xiàn)”“解決”等環(huán)節(jié)的時(shí)間,保障上層業(yè)務(wù)的高效運(yùn)轉(zhuǎn)。

  在數(shù)據(jù)存儲(chǔ)上,由于數(shù)據(jù)量級(jí)的龐大,且對(duì)于不可再生數(shù)據(jù)我們的觀點(diǎn)是永久存儲(chǔ),因此除了日常計(jì)算的“熱數(shù)據(jù)”,相對(duì)久遠(yuǎn)的冷數(shù)據(jù),我們亦通過(guò)計(jì)算性能相對(duì)弱一些的冷備集群來(lái)進(jìn)行永久保存。

  實(shí)時(shí)計(jì)算

  相對(duì)于離線計(jì)算,實(shí)時(shí)計(jì)算的場(chǎng)景會(huì)更加聚焦、直觀,比如地圖“熱力圖”產(chǎn)品,背后就是對(duì)每天百億次定位請(qǐng)求的宏觀實(shí)時(shí)分析。

  在實(shí)時(shí)計(jì)算上,我們也復(fù)用了有OP運(yùn)維的公司級(jí)架構(gòu),類比開(kāi)源產(chǎn)品的話,可以近似看作是“storm”。通過(guò)簡(jiǎn)單的“importer”“task processor”“exporter”等概念模塊,完成復(fù)雜實(shí)時(shí)流計(jì)算業(yè)務(wù)。

  查詢引擎

  在數(shù)據(jù)通過(guò)“實(shí)時(shí)”“離線”等不同技術(shù)棧處理完成后,需要一套面向用戶的暴露機(jī)制,這種暴露機(jī)制也和上層產(chǎn)品的形態(tài)有一定的關(guān)聯(lián)。

  在常見(jiàn)的報(bào)表產(chǎn)品上,我們通過(guò)mysql來(lái)存儲(chǔ)報(bào)表數(shù)據(jù),背后的理?yè)?jù)一方面是報(bào)表型數(shù)據(jù)一般量級(jí)較小,關(guān)系型數(shù)據(jù)庫(kù)能夠承載,另一方面是由于sql對(duì)大部分研發(fā)而言,是非常友好的語(yǔ)言。

  對(duì)面向C端用戶的數(shù)據(jù)查詢上,我們部分使用了Redis來(lái)存儲(chǔ)偏kv型的數(shù)據(jù),以獲取足夠高的訪問(wèn)性能。

  對(duì)面向內(nèi)部決策分析的產(chǎn)品經(jīng)理、運(yùn)營(yíng)等同學(xué),我們提供了一套多維分析架構(gòu)的數(shù)據(jù)引擎,來(lái)解決億級(jí)、多維、cube查詢模式下的業(yè)務(wù)人員訴求,這套體系基于Apache Kylin來(lái)進(jìn)行搭建和二次開(kāi)發(fā)。

  從進(jìn)一步發(fā)展看,除了上面這些系統(tǒng),基于MPP架構(gòu)的adhoc query是我們目前比較明顯的能力gap,也會(huì)作為下一步的重點(diǎn)去發(fā)展,并結(jié)合元數(shù)據(jù),給終端用戶一種更友好和自由的數(shù)據(jù)分析能力。

  數(shù)據(jù)產(chǎn)品

  一切大數(shù)據(jù)技術(shù),都是為了支撐上層的產(chǎn)品形態(tài),目前我們典型的產(chǎn)品形態(tài)包括報(bào)表平臺(tái)、多維分析平臺(tái)、熱力圖、面向B端的web產(chǎn)品等。背后一般是典型的LAMP架構(gòu),對(duì)數(shù)據(jù)可視化技術(shù)也是一種挑戰(zhàn)。我們亦開(kāi)源了一套可視化的js庫(kù)mapv,參見(jiàn)http://mapv.baidu.com/

  寫在最后

  地圖開(kāi)放平臺(tái)的大數(shù)據(jù)技術(shù),歷經(jīng)三年多的發(fā)展,逐步形成了相對(duì)完備的技術(shù)棧和團(tuán)隊(duì)梯隊(duì)。同步的,業(yè)務(wù)的形態(tài)還在不斷演變,我們既有的技術(shù)形態(tài)亦會(huì)快速演變。在技術(shù)演進(jìn)上,我們沒(méi)有完美且一成不變的“銀彈”,保持技術(shù)的敬畏和開(kāi)放的初心,相信明天會(huì)更美好。

     如果您對(duì)您所在行業(yè)有很深認(rèn)知,也想在我們的平臺(tái)上說(shuō)點(diǎn)什么,我們歡迎您來(lái)投稿!

喜歡您正在閱讀的內(nèi)容嗎?歡迎免費(fèi)訂閱泰伯每周精選電郵。 立即訂閱

參與評(píng)論

【登錄后才能評(píng)論哦!點(diǎn)擊

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回復(fù){{item.replynum}}
    {{child.username}} 回復(fù) {{child.to_username}}:{{child.content}}

更多精選文章推薦