淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)_第1頁
淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)_第2頁
淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)_第3頁
淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)_第4頁
淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)提綱背景目標(biāo)傳統(tǒng)方案案與業(yè)界界進(jìn)展設(shè)計(jì)理念念(重點(diǎn))技術(shù)架構(gòu)構(gòu)要點(diǎn)例子系統(tǒng)邊界界計(jì)劃背景應(yīng)用背景景數(shù)據(jù)量急急劇增加加Web1.0web2.0,publicegonet電子商務(wù)務(wù)、移動(dòng)動(dòng)互聯(lián)網(wǎng)網(wǎng)、移動(dòng)動(dòng)支付欺詐、風(fēng)風(fēng)控對(duì)海海量交易易實(shí)時(shí)性性用戶體驗(yàn)驗(yàn)的個(gè)性性化和實(shí)實(shí)時(shí)性由點(diǎn)到面面實(shí)時(shí)搜索索、個(gè)人人實(shí)時(shí)信信息服務(wù)務(wù)、SNS等背景技術(shù)背景景MapReduce、Dryad等全量/增量計(jì)算算平臺(tái)S4、Storm等流計(jì)算算框架CEP以及EDA模型Pregel等圖計(jì)算算模型傳統(tǒng)方案案與業(yè)界界進(jìn)展傳統(tǒng)方案案MAPREDUCE:HDFS加載,存儲(chǔ)LOCALITY(容錯(cuò)性),順

2、序IO,存儲(chǔ)儲(chǔ)HDFS,單輸入,單輸出出獨(dú)立數(shù)據(jù)據(jù)DiLatency(i)輸入輸入計(jì)算過過程下載Mapshuffle輸出獨(dú)立數(shù)據(jù)據(jù)DnlatencyLatency(n)reduceMapreduceJobIProcessJobHadoop之于實(shí)時(shí)時(shí)問題(hadoop本質(zhì)是為為全量而而生)任務(wù)內(nèi)串串行重吞吐量量,響應(yīng)應(yīng)時(shí)間完完全沒有有保證中間結(jié)果果不可見,不可共享享單輸入單單輸出,鏈?zhǔn)嚼死速M(fèi)嚴(yán)重重鏈?zhǔn)組R不能并行行粗粒度容容錯(cuò),可可能會(huì)造造成陷阱阱圖計(jì)算不不友好迭代計(jì)算算不友好好圖計(jì)算MapReduce為什么不不適合圖圖計(jì)算?迭代邊的量級(jí)級(jí)遠(yuǎn)大于于節(jié)點(diǎn)圖計(jì)算特點(diǎn)適應(yīng)于事事件機(jī)制制,規(guī)模模大(邊)

3、,但單條條數(shù)據(jù)不不大很難分布布式(locality、partition,一直都都是難點(diǎn)點(diǎn))容錯(cuò)性GooglePregel本質(zhì)上還還是全量量中間結(jié)果果不可見見超步過多多(IProcess)Pregelvs.IProcess圖計(jì)算IProcess亂序執(zhí)行行,避免免了不必必要的超超步實(shí)時(shí)圖計(jì)計(jì)算,圖圖計(jì)算注注定慢,但是效效果的可可以漸顯顯。迭代計(jì)算算特點(diǎn)結(jié)構(gòu)固定定本質(zhì)Update方案?jìng)鹘y(tǒng)MR模型,hadoop效率太低低HaloopIprocess0.4實(shí)時(shí)計(jì)算算業(yè)界進(jìn)進(jìn)展S42010年底,Yahoo,0.3,windowtodo業(yè)界進(jìn)展展Storm:2011.9,twitter,0.5.2業(yè)界進(jìn)展展

4、Storm系統(tǒng)邊界界S4、Storm只能處理理“獨(dú)立”的流數(shù)據(jù)據(jù)無法處理理“復(fù)雜雜”事件件(condition),需要用用戶handle復(fù)雜的條條件不能很好好的適用用于大部部分需要要相關(guān)數(shù)數(shù)據(jù)集執(zhí)執(zhí)行計(jì)計(jì)算和流流數(shù)據(jù)保保序的實(shí)實(shí)時(shí)場(chǎng)景景容錯(cuò)性較較差集群無法法動(dòng)態(tài)擴(kuò)擴(kuò)展業(yè)界進(jìn)展展其它StreamBaseBorealisStreamInsightPercolatorHbasecoprocessorPregeldremel 設(shè)計(jì)理念念負(fù)責(zé)任(Condition)MapReduce本質(zhì)上保保證了Reduce觸發(fā)的條條件,即即所有有map都結(jié)束(但這點(diǎn)點(diǎn)很容易易被忽視視)。實(shí)時(shí)計(jì)算算Condition很

5、容易被被忽略。很多只是是考慮了streaming,而沒有有考慮Condition。實(shí)時(shí)(Streaming)成本(Throughput)有所為有有所不為為通用計(jì)算算框架,用戶組件件只需關(guān)關(guān)心業(yè)務(wù)務(wù)邏輯。涉及到業(yè)業(yè)務(wù)邏輯輯統(tǒng)統(tǒng)不不做。設(shè)計(jì)理念念舉例實(shí)時(shí)JOIN(后面有具具體代碼碼)在storm(不考慮Condition)框架下下,實(shí)現(xiàn)join, 需要要用戶代代碼自己己hold條件,判斷條件件,進(jìn)而觸觸發(fā)join后的邏輯輯處理。但在我我們的設(shè)設(shè)計(jì)理念念下,這些condition完全可以以抽象為為復(fù)雜完完備事件件模型,所以以作為通通用系統(tǒng)統(tǒng)應(yīng)該提提供condition的通用用功能,用戶只需需進(jìn)行配配

6、置而不不是編碼碼就可以以完成condition,那么實(shí)實(shí)時(shí)join在iprocess體系下,用戶無需需編碼處處理condition,而只需需處理join后 的邏邏輯。IProcess通用的分分布式流流數(shù)據(jù)實(shí)實(shí)時(shí)與持持續(xù)計(jì)算算平臺(tái)有向圖模模型節(jié)點(diǎn)為用用戶編寫寫的組件、邊為事事件觸發(fā)器模模式完備事件驅(qū)動(dòng)動(dòng)的架構(gòu)構(gòu),定制制復(fù)雜完備備事件條件件支持相關(guān)關(guān)集計(jì)算算和Reduce時(shí)數(shù)據(jù)集集生成(kmean)樹存儲(chǔ)模模型,支持不同同級(jí)別定定制不同同一致性性模型和和事務(wù)務(wù)模型可擴(kuò)展的的編程模模型提出并支支持樹型型實(shí)時(shí)MR和增量/定時(shí)MRIProcess通用的分分布式流流數(shù)據(jù)實(shí)實(shí)時(shí)與持持續(xù)計(jì)算算平臺(tái)持續(xù)與AdH

7、oc計(jì)算(endpoint)微內(nèi)核+組件系統(tǒng)統(tǒng)(系統(tǒng)級(jí)組組件+用戶組件件)多任務(wù)服服務(wù)化,任務(wù)沙沙箱,優(yōu)優(yōu)先級(jí),任務(wù)調(diào)調(diào)度兩級(jí)容錯(cuò)錯(cuò):應(yīng)用用級(jí)和系系統(tǒng)級(jí),運(yùn)算時(shí)時(shí)動(dòng)態(tài)擴(kuò)擴(kuò)容系統(tǒng)級(jí)組組件系統(tǒng)統(tǒng):實(shí)時(shí)時(shí)join、二級(jí)索索引、倒倒排表、物化視視圖、counter分布式系系統(tǒng)的容容錯(cuò),自自動(dòng)擴(kuò)展展,通訊訊,調(diào)度度保序IProcess基礎(chǔ)的運(yùn)運(yùn)行系統(tǒng)統(tǒng)引入CEP規(guī)則引擎擎模塊(RPM),類似似hive與MR引入數(shù)據(jù)據(jù)集控制制(用于于機(jī)器學(xué)學(xué)習(xí)),BI引入類SQL語言,DSL引擎引入圖計(jì)計(jì)算模型型邏輯模型型持續(xù)計(jì)算算AdHocQuery不可枚舉舉用戶搜索索(online),DBSQL持續(xù)計(jì)算算計(jì)算相對(duì)對(duì)固

8、定、可枚舉舉數(shù)據(jù)流動(dòng)動(dòng)SQL、MRIProcess整體架構(gòu)構(gòu)整體拓?fù)鋼溥\(yùn)行過程程三個(gè)步驟驟簡單事件件發(fā)射(分布式)復(fù)雜事件件完備性性判斷(集中式式、分布布式)分布式事事務(wù)盡量避免免(機(jī)制制保證)強(qiáng)事務(wù)(MVCC)、邏輯輯事務(wù)、弱事務(wù)務(wù)觸發(fā)下一一個(gè)環(huán)節(jié)節(jié)IProcess的存儲(chǔ)樹結(jié)構(gòu)的的存儲(chǔ)不同的一一致性和和事務(wù)模模型區(qū)分實(shí)時(shí)時(shí)數(shù)據(jù)與與其它數(shù)數(shù)據(jù)的存存儲(chǔ)兩級(jí)容錯(cuò)錯(cuò)應(yīng)用級(jí)和和系統(tǒng)級(jí)級(jí)運(yùn)算時(shí)動(dòng)動(dòng)態(tài)擴(kuò)容容保序Latency、throughput、可靠性性動(dòng)態(tài)tradeoffIProcess的存儲(chǔ)MR模型的本本質(zhì)Reduce(key,valueList,context)實(shí)現(xiàn)STCacheStrategy接

9、口QStore:持久化化存儲(chǔ)。IProcess的存儲(chǔ)amber與MR容錯(cuò)性的的區(qū)別:應(yīng)用級(jí)級(jí)體現(xiàn)在在amber,系統(tǒng)級(jí)級(jí)體現(xiàn)在在st與gtIProcess的存儲(chǔ)GlobalTableHbase維護(hù)分支支Segment分裂策略略Coprocessor沙箱類Redis接口容量規(guī)劃劃剝離行事事務(wù)YahooOmidIProcess要點(diǎn)回顧顧完備事件模型型基礎(chǔ)模型:觸發(fā)器模模式可擴(kuò)展的的編程模模型(類似于HIVE與hadoop的關(guān)系)Spark(類似storm,完全的的流處理理,無condition)Dumbo(實(shí)時(shí)MapReduce框架)Graphcomputing(實(shí)時(shí)pregel)SQL:Hive

10、IProcess要點(diǎn)回顧顧樹狀存儲(chǔ)儲(chǔ)事務(wù)模型型邏輯事務(wù)務(wù)弱事務(wù)強(qiáng)事務(wù)運(yùn)行時(shí)擴(kuò)擴(kuò)容系統(tǒng),應(yīng)應(yīng)用量級(jí)級(jí)容錯(cuò)保序應(yīng)用場(chǎng)景景特點(diǎn)響應(yīng)時(shí)間間:實(shí)時(shí)毫秒級(jí)別別(子圖圖)秒級(jí)別分鐘級(jí)別別圖復(fù)雜度度節(jié)點(diǎn)簡單單且重、圖復(fù)雜節(jié)點(diǎn)簡單單但輕、圖復(fù)雜雜節(jié)點(diǎn)復(fù)雜雜但輕、圖簡單節(jié)點(diǎn)復(fù)雜雜且重、圖簡單單應(yīng)用場(chǎng)景景特點(diǎn)語言C+、Java、ShellSQL規(guī)則DSL模型觸發(fā)器、簡單事件、實(shí)時(shí)MR、圖計(jì)算 應(yīng)用架構(gòu)構(gòu)Howtouse?使用IProcess需要準(zhǔn)備備什么?組件集配置(有向圖,事件)拓?fù)銱owtouse?Ademo簡化的資資訊實(shí)時(shí)時(shí)搜索實(shí)時(shí)搜索索用戶API簡介系統(tǒng)級(jí)(高級(jí)接接口)STCacheStrategyLogi

11、calConflictResolverLazyConflictResovlerIUserDefinedConditionISeedGeneratorIPartitioner用戶API簡介應(yīng)用級(jí)IProcess原生IProcessModule(JobContext)SparkEventProcessor(EventContext)Dumbo(實(shí)時(shí)Mapreduce)MapperPreparerReducerMerger使用MapperContext、ReducerContext等系統(tǒng)API簡介重要接口口和類TableStrategyStorageStrategySegmentNameMappin

12、gSegment。SequencedSegmentTimedSegmentNameMappingRecordDumbo例子代碼直接接復(fù)用,效果大大不一樣樣例子(實(shí)時(shí),中中間結(jié)果果可見)wordCount(與全量mapreduce區(qū)別在于于:dumbo下的wordcount,實(shí)時(shí)reduce結(jié)果是可可見的,即整個(gè)個(gè)計(jì)算結(jié)果果中間可可被用戶戶訪問)訪問記錄錄一次map、多次reduceSQL執(zhí)行Kmean聚類實(shí)時(shí)join代碼見下下頁Dumbo例子實(shí)時(shí)join代碼(join好一一條輸出出一條)classMemberMapper:publicMapperpublic:voidmap(conststri

13、ng&key,constRecordPtrvalue,MapperContextPtrcontext)contextadd(valueget_field(member_id).toString(),value,member);classProductMapper:publicMapperpublic:voidmap(conststring&key,constRecordPtrvalue,MapperContextPtrcontext)contextadd(valueget_field(member_id).toString(),value,product);Dumbo例子實(shí)時(shí)join代碼(re

14、duce觸發(fā)的條條件在配配置文件件中,即相同joinkey的a數(shù)據(jù)和b數(shù)據(jù)都ready(condition),系統(tǒng)才會(huì)實(shí)時(shí)調(diào)用reduce-大家可以比比較在storm下實(shí)實(shí)現(xiàn)實(shí)時(shí)join的代碼)int32_treduce(stringkey,maptaged_value_iterator,ReducerContextcontext)stringtag_a=“member;stringtag_b=“product;RecordIteratoriterator_a=taged_value_iterator.find(A)second;RecordIteratoriterator_b=taged_v

15、alue_iterator.find(B)second;RecordPtrrecord_a=iterator_a.begin();while(record_a)RecordPtrrecord_b=iterator_b.begin();while(record_b)Recordresult=record_ajoin(record_b);contextadd(result);/生成join的結(jié)果record_b=iterator_b.next();record_a=iterator_a.next();觸發(fā)器模模式例子子SNS推薦系統(tǒng)統(tǒng)用戶將公公司名修修改,引發(fā)推薦薦的實(shí)時(shí)變化某用戶增增加一個(gè)個(gè)好友

16、會(huì)會(huì)引發(fā)對(duì)對(duì)自己和和對(duì)別人人的推推薦變化化實(shí)時(shí)人立立方(刪除關(guān)系系)風(fēng)控CEP離線風(fēng)險(xiǎn)險(xiǎn)控制在線風(fēng)險(xiǎn)險(xiǎn)控制系統(tǒng)邊界界目前的問問題跨語言吞吐量易用性服務(wù)化,云?邊界計(jì)算可枚枚舉計(jì)算可加加依賴相關(guān)關(guān)集較小小建模介于BSP與DOT之間Runtime的executeplan優(yōu)化目標(biāo)打造平臺(tái)臺(tái)實(shí)時(shí)計(jì)算算持續(xù)計(jì)算算Iprocess將專注于于完備事事件機(jī)制制。只提供最最基本的的功能,提供高度度可定制制的接口口,上層層可定制制出不不同平臺(tái)臺(tái)(計(jì)算算模型)和業(yè)務(wù)務(wù)系統(tǒng)。構(gòu)建技術(shù)術(shù)生態(tài)體體系合作開發(fā)發(fā)容器類類組件、通用組組件協(xié)調(diào)可復(fù)復(fù)用子圖圖(物化VIEW)、可復(fù)用用系統(tǒng)Spark系統(tǒng),Dumbo系統(tǒng)目標(biāo)全面提升升業(yè)務(wù)的的實(shí)時(shí)處處理能力力落地各個(gè)個(gè)業(yè)務(wù)線線遠(yuǎn)離業(yè)務(wù)務(wù)的通用用平臺(tái)的的生命力力不會(huì)強(qiáng)搜索,廣廣告,交交易,結(jié)結(jié)算,風(fēng)風(fēng)控,圖圖算法,數(shù)據(jù)倉倉庫針對(duì)業(yè)務(wù)務(wù)的響應(yīng)應(yīng)時(shí)間毫秒、秒秒級(jí)、分分鐘級(jí)業(yè)界有影影響力的的技術(shù)產(chǎn)產(chǎn)品具有原創(chuàng)創(chuàng)技術(shù)并并發(fā)表高高質(zhì)量有有影響力力論文目前已經(jīng)經(jīng)準(zhǔn)備OSD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論