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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

12、gSegment。SequencedSegmentTimedSegmentNameMappingRecordDumbo例子代碼直接接復用,效果大大不一樣樣例子(實時,中中間結果果可見)wordCount(與全量mapreduce區(qū)別在于于:dumbo下的wordcount,實時reduce結果是可可見的,即整個個計算結果果中間可可被用戶戶訪問)訪問記錄錄一次map、多次reduceSQL執(zhí)行Kmean聚類實時join代碼見下下頁Dumbo例子實時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例子實時join代碼(re

14、duce觸發(fā)的條條件在配配置文件件中,即相同joinkey的a數(shù)據(jù)和b數(shù)據(jù)都ready(condition),系統(tǒng)才會實時調用reduce-大家可以比比較在storm下實實現(xiàn)實時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的結果record_b=iterator_b.next();record_a=iterator_a.next();觸發(fā)器模模式例子子SNS推薦系統(tǒng)統(tǒng)用戶將公公司名修修改,引發(fā)推薦薦的實時變化某用戶增增加一個個好友

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

溫馨提示

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

評論

0/150

提交評論