版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
淘寶分布式大數(shù)據(jù)及實(shí)時(shí)流數(shù)據(jù)技術(shù)架構(gòu)提綱? 背景? 目標(biāo)? 傳統(tǒng)方案與業(yè)界進(jìn)展? 設(shè)計(jì)理念(重點(diǎn))? 技術(shù)架構(gòu)? 要點(diǎn)? 例子? 系統(tǒng)邊界? 計(jì)劃背景? 應(yīng)用背景–
數(shù)據(jù)量急劇增加–
Web
1.0
web
2.0,
publicego
net–
電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)、移動(dòng)支付–
欺詐、風(fēng)控對(duì)海量交易實(shí)時(shí)性–
用戶(hù)體驗(yàn)的個(gè)性化和實(shí)時(shí)性–
由點(diǎn)到面?
實(shí)時(shí)搜索、個(gè)人實(shí)時(shí)信息服務(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ò)性),順序IO,存儲(chǔ)HDFS, 單輸入,單輸出獨(dú)立數(shù)據(jù)Di Latency(i)輸入輸入計(jì)算過(guò)程下載Mapshuffle輸出獨(dú)立數(shù)據(jù)DnlatencyLatency(n)reduceMapreduce
JobIProcess
JobHadoop之于實(shí)時(shí)? 問(wèn)題(hadoop本質(zhì)是為全量而生)–
任務(wù)內(nèi)串行–
重吞吐量,響應(yīng)時(shí)間完全沒(méi)有保證–
中間結(jié)果不可見(jiàn),不可共享–
單輸入單輸出,鏈?zhǔn)嚼速M(fèi)嚴(yán)重–
鏈?zhǔn)組R不能并行–
粗粒度容錯(cuò),可能會(huì)造成陷阱–
圖計(jì)算不友好–
迭代計(jì)算不友好圖計(jì)算? MapReduce為什么不適合圖計(jì)算?–
迭代–
邊的量級(jí)遠(yuǎn)大于節(jié)點(diǎn)? 圖計(jì)算特點(diǎn)–
適應(yīng)于事件機(jī)制,規(guī)模大(邊),但單條數(shù)據(jù)不大–
很難分布式(locality、partition,一直都是難點(diǎn))–
容錯(cuò)性Google
Pregel?
本質(zhì)上還是全量?
中間結(jié)果不可見(jiàn)超步過(guò)多(IProcess)Pregel
vs.
IProcess圖計(jì)算IProcess
亂序執(zhí)行,避免了不必要的超步
實(shí)時(shí)圖計(jì)算,圖計(jì)算注定慢,但是效果的可以漸顯。迭代計(jì)算? 特點(diǎn)–
結(jié)構(gòu)固定? 本質(zhì)Update? 方案–
傳統(tǒng)MR模型,hadoop效率太低HaloopIprocess0.4實(shí)時(shí)計(jì)算業(yè)界進(jìn)展S4–
2010年底,Yahoo,0.3,windowtodo業(yè)界界進(jìn)進(jìn)展展?Storm:2011.9,twitter,業(yè)界進(jìn)進(jìn)展‐Storm系統(tǒng)邊邊界S4、Storm–只能處處理“獨(dú)立”的流數(shù)數(shù)據(jù)–無(wú)法處處理““復(fù)雜雜”事事件(condition),需要要用戶(hù)戶(hù)handle復(fù)雜的的條件件–不能很很好的的適用用于大大部分分需要要相關(guān)關(guān)數(shù)據(jù)據(jù)集執(zhí)執(zhí)行計(jì)計(jì)算算和流流數(shù)據(jù)據(jù)保序序的實(shí)實(shí)時(shí)場(chǎng)場(chǎng)景–容錯(cuò)性性較差差–集群無(wú)無(wú)法動(dòng)動(dòng)態(tài)擴(kuò)擴(kuò)展業(yè)界進(jìn)進(jìn)展?其它StreamBaseBorealisStreamInsightPercolatorHbasecoprocessorPregeldremel–…設(shè)計(jì)理理念負(fù)責(zé)任任(Condition)–MapReduce本質(zhì)上上保證證了Reduce觸發(fā)的的條件件,即即所所有map都結(jié)束束(但但這點(diǎn)點(diǎn)很容容易被被忽視視)。。–實(shí)時(shí)計(jì)計(jì)算Condition很容易易被忽忽略。很多只只是考考慮了streaming,而沒(méi)沒(méi)有考考慮Condition。實(shí)時(shí)(Streaming)成本(Throughput)?有所為為有所所不為為–通用計(jì)計(jì)算框框架,,用戶(hù)組組件只只需關(guān)關(guān)心業(yè)業(yè)務(wù)邏邏輯。–涉及到到業(yè)務(wù)務(wù)邏輯輯統(tǒng)統(tǒng)統(tǒng)不做做。設(shè)計(jì)理理念?舉例–實(shí)時(shí)JOIN(后面有有具體體代碼碼)在storm(不考考慮Condition)框架架下,,實(shí)現(xiàn)join,需需要用用戶(hù)代代碼自自己hold條件,,判斷條條件,進(jìn)而觸觸發(fā)join后的邏邏輯處處理。。但在在我們們的設(shè)設(shè)計(jì)理理念下下,這些condition完全可可以抽抽象為為復(fù)雜雜完備備事件件模型,所所以作作為通通用系系統(tǒng)應(yīng)應(yīng)該提提供condition的通用用功功能,,用戶(hù)只只需進(jìn)進(jìn)行配配置而而不是是編碼碼就可可以完成condition,那么么實(shí)時(shí)join在iprocess體系下下,用戶(hù)無(wú)無(wú)需編編碼處處理condition,而只只需處處理join后的的邏輯輯。IProcess?通用的的分布布式流流數(shù)據(jù)據(jù)實(shí)時(shí)時(shí)與持持續(xù)計(jì)計(jì)算平平臺(tái)–有向圖圖模型型?節(jié)點(diǎn)為為用戶(hù)戶(hù)編寫(xiě)寫(xiě)的組組件、邊為為事件件–觸發(fā)器器模式式–完備事件驅(qū)驅(qū)動(dòng)的的架構(gòu)構(gòu),定定制復(fù)雜完完備事件條條件–支持相相關(guān)集集計(jì)算算和Reduce時(shí)數(shù)據(jù)據(jù)集生生成(k‐mean)–樹(shù)存儲(chǔ)儲(chǔ)模型型,支持不不同級(jí)級(jí)別定定制不不同一一致性性模型型和事事務(wù)務(wù)模型型–可擴(kuò)展展的編編程模模型?提出并并支持持樹(shù)型型實(shí)時(shí)MR和增量/定時(shí)MRIProcess?通用的的分布布式流流數(shù)據(jù)據(jù)實(shí)時(shí)時(shí)與持持續(xù)計(jì)計(jì)算平平臺(tái)–持續(xù)與AdHoc計(jì)算(endpoint)–微內(nèi)核核+組件系系統(tǒng)(系統(tǒng)級(jí)級(jí)組件件+用戶(hù)組組件)–多任務(wù)務(wù)服務(wù)務(wù)化,,任務(wù)務(wù)沙箱箱,優(yōu)優(yōu)先級(jí)級(jí),任務(wù)務(wù)調(diào)度度–兩級(jí)容容錯(cuò)::應(yīng)用用級(jí)和和系統(tǒng)統(tǒng)級(jí),,運(yùn)算算時(shí)動(dòng)動(dòng)態(tài)擴(kuò)擴(kuò)容–系統(tǒng)級(jí)級(jí)組件件系統(tǒng)統(tǒng):實(shí)實(shí)時(shí)join、二級(jí)級(jí)索引引、倒倒排表表、物化視視圖圖、counter…–分布式式系統(tǒng)統(tǒng)的容容錯(cuò),,自動(dòng)動(dòng)擴(kuò)展展,通通訊,,調(diào)度度–保序…IProcess?基礎(chǔ)的的運(yùn)行行系統(tǒng)統(tǒng)–引入CEP規(guī)則引引擎模模塊((RPM),類(lèi)類(lèi)似hive與MR–引入數(shù)數(shù)據(jù)集集控制制(用用于機(jī)機(jī)器學(xué)學(xué)習(xí))),BI–引入類(lèi)類(lèi)SQL語(yǔ)言,,DSL引擎–引入圖圖計(jì)算算模型型邏輯模模型持續(xù)計(jì)計(jì)算Ad‐HocQuery–不可枚枚舉用戶(hù)搜搜索(online),DBSQL?持續(xù)計(jì)計(jì)算–計(jì)算相相對(duì)固固定、、可枚枚舉–數(shù)據(jù)流流動(dòng)SQL、MRIProcess整體架架構(gòu)整體拓拓?fù)溥\(yùn)行過(guò)過(guò)程?三個(gè)步步驟–簡(jiǎn)單事事件發(fā)發(fā)射(分布式)–復(fù)雜事事件完完備性性判斷斷(集集中式式、分分布式式)?分布式式事務(wù)務(wù)–盡量避避免((機(jī)制制保證證)–強(qiáng)事務(wù)務(wù)(MVCC)、邏邏輯事事務(wù)、弱事事務(wù)–觸發(fā)下下一個(gè)個(gè)環(huán)節(jié)節(jié)IProcess的存儲(chǔ)儲(chǔ)?樹(shù)結(jié)構(gòu)構(gòu)的存存儲(chǔ)–不同的的一致致性和和事務(wù)務(wù)模型型?區(qū)分實(shí)實(shí)時(shí)數(shù)數(shù)據(jù)與與其它它數(shù)據(jù)據(jù)的存存儲(chǔ)?兩級(jí)容容錯(cuò)–應(yīng)用級(jí)級(jí)和系系統(tǒng)級(jí)級(jí)?運(yùn)算時(shí)時(shí)動(dòng)態(tài)態(tài)擴(kuò)容容?保序Latency、throughput、可靠靠性–動(dòng)態(tài)tradeoffIProcess的存儲(chǔ)儲(chǔ)MR模型的的本質(zhì)質(zhì)Reduce(key,valueList,context)實(shí)現(xiàn)STCacheStrategy接口QStore:持久久化存存儲(chǔ)。。IProcess的存儲(chǔ)儲(chǔ)‐amber與MR容錯(cuò)性性的區(qū)區(qū)別::應(yīng)用用級(jí)體體現(xiàn)在在amber,系統(tǒng)統(tǒng)級(jí)體體現(xiàn)在在st與gtIProcess的存儲(chǔ)儲(chǔ)‐GlobalTableHbase維護(hù)分分支Segment分裂策策略Coprocessor沙箱類(lèi)Redis接口–容量規(guī)規(guī)劃–剝離行行事務(wù)務(wù)YahooOmidIProcess要點(diǎn)回回顧?完備事件模模型–基礎(chǔ)模模型:觸發(fā)器器模式式?可擴(kuò)展展的編編程模模型(類(lèi)似于HIVE與hadoop的關(guān)系)Spark(類(lèi)似storm,完全全的流流處理理,無(wú)condition)Dumbo(實(shí)時(shí)時(shí)MapReduce框架))Graphcomputing(實(shí)時(shí)時(shí)pregel)SQL:HiveIProcess要點(diǎn)回回顧?樹(shù)狀存存儲(chǔ)?事務(wù)模模型–邏輯事事務(wù)–弱事務(wù)務(wù)–強(qiáng)事務(wù)務(wù)?運(yùn)行時(shí)時(shí)擴(kuò)容容?系統(tǒng),,應(yīng)用用量級(jí)級(jí)容錯(cuò)錯(cuò)?保序應(yīng)用場(chǎng)場(chǎng)景特特點(diǎn)?響應(yīng)時(shí)時(shí)間:實(shí)時(shí)–毫秒級(jí)級(jí)別((子圖圖)–秒級(jí)別–分鐘級(jí)別別?圖復(fù)雜度度–節(jié)點(diǎn)簡(jiǎn)單單且重、圖復(fù)雜–節(jié)點(diǎn)簡(jiǎn)單單但輕、、圖復(fù)雜雜–節(jié)點(diǎn)復(fù)雜雜但輕、圖簡(jiǎn)單–節(jié)點(diǎn)復(fù)雜雜且重、、圖簡(jiǎn)單單應(yīng)用場(chǎng)景景特點(diǎn)?語(yǔ)言C++、Java、ShellSQL–規(guī)則DSL?模型–觸發(fā)器、簡(jiǎn)單事件、實(shí)時(shí)MR、圖計(jì)算–…應(yīng)用架構(gòu)構(gòu)Howtouse??使用IProcess需要準(zhǔn)備備什么?–組件集–配置(有向圖,,事件)–拓?fù)銱owtouse?Ademo?簡(jiǎn)化的資資訊實(shí)時(shí)時(shí)搜索實(shí)時(shí)搜索索用戶(hù)API簡(jiǎn)介?系統(tǒng)級(jí)((高級(jí)接接口)STCacheStrategyLogicalConflictResolverLazyConflictResovlerIUserDefinedConditionISeedGeneratorIPartitioner用戶(hù)API簡(jiǎn)介?應(yīng)用級(jí)IProcess原生IProcessModule(JobContext)SparkEventProcessor(EventContext)Dumbo(實(shí)時(shí)Mapreduce)MapperPreparerReducerMerger–使用MapperContext、ReducerContext等系統(tǒng)API簡(jiǎn)介?重要接口和類(lèi)類(lèi)TableStrategyStorageStrategySegmentNameMappingSegment。SequencedSegmentTimedSegmentNameMappingRecordDumbo例子?代碼直接復(fù)用用,效果大不不一樣?例子(實(shí)時(shí),中間結(jié)結(jié)果可見(jiàn))wordCount(與全量mapreduce區(qū)別在于:dumbo下的wordcount,實(shí)時(shí)reduce結(jié)果是可見(jiàn)的的,即整個(gè)計(jì)算結(jié)果中間間可被用戶(hù)訪訪問(wèn))–訪問(wèn)記錄一次map、多次reduceSQL執(zhí)行K‐mean聚類(lèi)實(shí)時(shí)join?代碼見(jiàn)下頁(yè)Dumbo例子?實(shí)時(shí)join代碼(join好好一條輸出一一條)classMemberMapper:publicMapper{public:voidmap(conststring&key,constRecordPtrvalue,MapperContextPtrcontext){context‐>add(value‐>get_field("member_id").toString(),value,"member");}}classProductMapper:publicMapper{public:voidmap(conststring&key,constRecordPtrvalue,MapperContextPtrcontext){context‐>add(value‐>get_field("member_id").toString(),value,"product");}}Dumbo例子?實(shí)時(shí)join代碼(reduce觸發(fā)的條件件在配置文文件中,即相同joinkey的a數(shù)據(jù)和b數(shù)據(jù)都ready(condition),系統(tǒng)才會(huì)實(shí)時(shí)調(diào)用reduce-大家可以比較較在storm下實(shí)現(xiàn)實(shí)實(shí)時(shí)join的的代碼)int32_treduce(stringkey,map<string,RecordIterator>taged_value_iterator,ReducerContextcontext){stringtag_a=“member";stringtag_b=“product";RecordIteratoriterator_a=taged_value_iterator.find("A")‐>second;RecordIteratoriterator_b=taged_value_iterator.find("B")‐>second;RecordPtrrecord_a=iterator_a.begin();while(record_a){RecordPtrrecord_b=iterator_b.begin();while(record_b){Recordresult=record_a‐‐>join(record_b);context‐>add(result);//生成成join的結(jié)結(jié)果果record_b=iterator_b.next();}record_a=iterator_a.next();}}觸發(fā)發(fā)器器模模式式例例子子?SNS推薦薦系系統(tǒng)統(tǒng)–用戶(hù)戶(hù)將將公公司司名名修修改,引發(fā)發(fā)推推薦薦的實(shí)時(shí)變化化–某用用戶(hù)戶(hù)增增加加一一個(gè)個(gè)好好友友會(huì)會(huì)引引發(fā)發(fā)對(duì)對(duì)自自己己和和對(duì)對(duì)別別人人的的推推薦薦變變化化–實(shí)時(shí)時(shí)人人立立方(刪除除關(guān)關(guān)系系)風(fēng)控控CEP–離線線風(fēng)風(fēng)險(xiǎn)險(xiǎn)控控制制–在線線風(fēng)風(fēng)險(xiǎn)險(xiǎn)控控制制系統(tǒng)統(tǒng)邊邊界界?目前前的的問(wèn)問(wèn)題題–跨語(yǔ)語(yǔ)言言–吞吐吐量量–易用用性性–服務(wù)務(wù)化化,,云云???邊界界–計(jì)算算可可枚枚舉舉–計(jì)算算可可加加–依賴(lài)賴(lài)相相關(guān)關(guān)集集較較小小?建模模介于于BSP與DOT之間間Runtime的的executeplan優(yōu)優(yōu)化化目標(biāo)標(biāo)?打造造平平臺(tái)臺(tái)–實(shí)時(shí)時(shí)計(jì)計(jì)算算–持續(xù)續(xù)計(jì)計(jì)算算–Iprocess將專(zhuān)專(zhuān)注注于于完完備備事事件件機(jī)機(jī)制制。。?只提提供供最最基基本本的的功功能能,提供供高高度度可可定定制制的的接接
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大數(shù)據(jù)分析與應(yīng)用簡(jiǎn)易技術(shù)服務(wù)合同范本2篇
- 2025年度酒店甲醛濃度達(dá)標(biāo)治理合同范本3篇
- 二零二五年度建筑工程施工現(xiàn)場(chǎng)用電補(bǔ)充協(xié)議范本3篇
- 中學(xué)生寒假計(jì)劃安排
- 四川省眉山市仁壽縣2024-2025學(xué)年高二上學(xué)期期末考試歷史試題(含答案)
- 人教版九年級(jí)歷史與社會(huì)上冊(cè)說(shuō)課稿:第一單元 第一課 世界的格局與第一次世界大戰(zhàn)
- Unit 3 Where did you go?PartC (說(shuō)課稿)-2023-2024學(xué)年人教PEP版英語(yǔ)六年級(jí)下冊(cè)
- 膠輪車(chē)知識(shí)培訓(xùn)課件
- 新疆喀什地區(qū)(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)人教版課后作業(yè)((上下)學(xué)期)試卷及答案
- 二零二五年度成都二手房買(mǎi)賣(mài)合同(含貸款事宜說(shuō)明)3篇
- 病歷質(zhì)控流程
- 政府采購(gòu)評(píng)審專(zhuān)家考試試題庫(kù)(完整版)
- 合作投資酒店意向合同范例
- 安全教育教案大班40篇
- 叉車(chē)工安全培訓(xùn)資料
- 九年級(jí)英語(yǔ)教學(xué)反思
- 外研新標(biāo)準(zhǔn)初中英語(yǔ)七年級(jí)上冊(cè)冊(cè)寒假提升補(bǔ)全對(duì)話短文練習(xí)三附答案解析
- 《旅游消費(fèi)者行為學(xué)》-課程教學(xué)大綱
- YY/T 1117-2024石膏繃帶
- 蘇教版小學(xué)三年級(jí)科學(xué)上冊(cè)單元測(cè)試題附答案(全冊(cè))
- 2024年人教版初一語(yǔ)文(上冊(cè))期末試卷及答案(各版本)
評(píng)論
0/150
提交評(píng)論