版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
淘寶分布式大數(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í)性–
用戶體驗(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ì)算過程下載Mapshuffle輸出獨(dú)立數(shù)據(jù)DnlatencyLatency(n)reduceMapreduce
JobIProcess
JobHadoop之于實(shí)時(shí)? 問題(hadoop本質(zhì)是為全量而生)–
任務(wù)內(nèi)串行–
重吞吐量,響應(yīng)時(shí)間完全沒有保證–
中間結(jié)果不可見,不可共享–
單輸入單輸出,鏈?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é)果不可見超步過多(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ù)–無法處處理““復(fù)雜雜”事事件(condition),需需要要用用戶戶handle復(fù)雜雜的的條條件件–不能能很很好好的的適適用用于于大大部部分分需需要要相相關(guān)關(guān)數(shù)數(shù)據(jù)據(jù)集集執(zhí)執(zhí)行行計(jì)計(jì)算算和和流流數(shù)數(shù)據(jù)據(jù)保保序序的的實(shí)實(shí)時(shí)時(shí)場場景景–容錯(cuò)錯(cuò)性性較較差差–集群群無無法法動(dòng)動(dòng)態(tài)態(tài)擴(kuò)擴(kuò)展展業(yè)界界進(jìn)進(jìn)展展?其它它StreamBaseBorealisStreamInsightPercolatorHbasecoprocessorPregeldremel–…設(shè)計(jì)計(jì)理理念念負(fù)責(zé)責(zé)任任(Condition)–MapReduce本質(zhì)質(zhì)上上保保證證了了Reduce觸發(fā)發(fā)的的條條件件,,即即所所有有map都結(jié)結(jié)束束((但但這這點(diǎn)點(diǎn)很很容容易易被被忽忽視視))。。–實(shí)時(shí)時(shí)計(jì)計(jì)算算Condition很容容易易被被忽忽略略。很多多只只是是考考慮了了streaming,而而沒沒有有考考慮慮Condition。實(shí)時(shí)時(shí)(Streaming)成本本(Throughput)?有所所為為有有所所不不為為–通用用計(jì)計(jì)算算框框架架,,用戶戶組組件件只只需需關(guān)關(guān)心心業(yè)業(yè)務(wù)務(wù)邏邏輯輯。–涉及及到到業(yè)業(yè)務(wù)務(wù)邏邏輯輯統(tǒng)統(tǒng)統(tǒng)統(tǒng)不不做做。。設(shè)計(jì)計(jì)理理念念?舉例例–實(shí)時(shí)時(shí)JOIN(后面面有有具具體體代代碼碼)在storm(不不考考慮Condition)框框架架下下,,實(shí)實(shí)現(xiàn)join,需需要要用用戶戶代代碼碼自自己己hold條件件,,判斷斷條條件件,進(jìn)而而觸觸發(fā)join后的的邏邏輯輯處處理理。。但但在在我我們們的的設(shè)設(shè)計(jì)計(jì)理理念念下下,,這些些condition完全全可可以以抽抽象象為為復(fù)復(fù)雜雜完完備備事事件件模模型,,所所以以作作為為通通用用系系統(tǒng)統(tǒng)應(yīng)應(yīng)該該提提供供condition的通通用用功功能能,,用戶只需需進(jìn)行配配置而不不是編碼碼就可以以完成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ù)集集生成(k‐mean)–樹存儲(chǔ)模模型,支持不同同級(jí)別定定制不同同一致性性模型和和事務(wù)務(wù)模型–可擴(kuò)展的的編程模模型?提出并支支持樹型型實(shí)時(shí)MR和增量/定時(shí)MRIProcess?通用的分分布式流流數(shù)據(jù)實(shí)實(shí)時(shí)與持持續(xù)計(jì)算算平臺(tái)–持續(xù)與AdHoc計(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)行系系統(tǒng)–引入CEP規(guī)則引擎模塊塊(RPM),類似hive與MR–引入數(shù)據(jù)集控控制(用于機(jī)機(jī)器學(xué)習(xí)),,BI–引入類SQL語言,DSL引擎–引入圖計(jì)算模模型邏輯模型持續(xù)計(jì)算Ad‐HocQuery–不可枚舉用戶搜索(online),DBSQL?持續(xù)計(jì)算–計(jì)算相對(duì)固定定、可枚舉–數(shù)據(jù)流動(dòng)SQL、MRIProcess整體架構(gòu)整體拓?fù)溥\(yùn)行過程?三個(gè)步驟–簡單事件發(fā)射(分布式)–復(fù)雜事件完備備性判斷(集集中式、分布布式)?分布式事務(wù)–盡量避免(機(jī)機(jī)制保證)–強(qiáng)事務(wù)(MVCC)、邏輯事務(wù)、弱事務(wù)–觸發(fā)下一個(gè)環(huán)環(huán)節(jié)IProcess的存儲(chǔ)?樹結(jié)構(gòu)的存儲(chǔ)儲(chǔ)–不同的一致性性和事務(wù)模型型?區(qū)分實(shí)時(shí)數(shù)據(jù)據(jù)與其它數(shù)據(jù)據(jù)的存儲(chǔ)?兩級(jí)容錯(cuò)–應(yīng)用級(jí)和系統(tǒng)統(tǒng)級(jí)?運(yùn)算時(shí)動(dòng)態(tài)擴(kuò)擴(kuò)容?保序Latency、throughput、可靠性–動(dòng)態(tài)tradeoffIProcess的存儲(chǔ)MR模型的本質(zhì)質(zhì)Reduce(key,valueList,context)實(shí)現(xiàn)STCacheStrategy接口QStore:持久化存存儲(chǔ)。IProcess的存儲(chǔ)‐amber與MR容錯(cuò)性的區(qū)區(qū)別:應(yīng)用用級(jí)體現(xiàn)在在amber,系統(tǒng)級(jí)體體現(xiàn)在st與gtIProcess的存儲(chǔ)‐GlobalTableHbase維護(hù)分支Segment分裂策略Coprocessor沙箱類Redis接口–容量規(guī)劃–剝離行事務(wù)務(wù)YahooOmidIProcess要點(diǎn)回顧?完備事件模型–基礎(chǔ)模型:觸發(fā)器模式式?可擴(kuò)展的編編程模型(類似于HIVE與hadoop的關(guān)系)Spark(類似storm,完全的流流處理,無condition)Dumbo(實(shí)時(shí)MapReduce框架)Graphcomputing(實(shí)時(shí)pregel)SQL:HiveIProcess要點(diǎn)回顧?樹狀存儲(chǔ)?事務(wù)模型–邏輯事務(wù)–弱事務(wù)–強(qiáng)事務(wù)?運(yùn)行時(shí)擴(kuò)容容?系統(tǒng),應(yīng)用用量級(jí)容錯(cuò)錯(cuò)?保序應(yīng)用場景特特點(diǎn)?響應(yīng)時(shí)間:實(shí)時(shí)–毫秒級(jí)別((子圖)–秒級(jí)別–分鐘鐘級(jí)級(jí)別別?圖復(fù)復(fù)雜雜度度–節(jié)點(diǎn)點(diǎn)簡簡單單且且重、圖復(fù)復(fù)雜雜–節(jié)點(diǎn)點(diǎn)簡簡單單但但輕輕、、圖圖復(fù)復(fù)雜雜–節(jié)點(diǎn)點(diǎn)復(fù)復(fù)雜雜但但輕、圖簡簡單單–節(jié)點(diǎn)點(diǎn)復(fù)復(fù)雜雜且且重重、、圖圖簡簡單單應(yīng)用用場場景景特特點(diǎn)點(diǎn)?語言言C++、Java、ShellSQL–規(guī)則則DSL?模型型–觸發(fā)發(fā)器、、簡單單事事件、實(shí)實(shí)時(shí)MR、圖計(jì)計(jì)算算–…應(yīng)用用架架構(gòu)構(gòu)Howtouse??使用用IProcess需要要準(zhǔn)準(zhǔn)備備什什么?–組件件集集–配置置(有向向圖圖,,事事件件)–拓?fù)鋼銱owtouse?Ademo?簡化化的的資資訊訊實(shí)實(shí)時(shí)時(shí)搜搜索索實(shí)時(shí)時(shí)搜搜索索用戶戶API簡介介?系統(tǒng)統(tǒng)級(jí)級(jí)((高高級(jí)級(jí)接接口口))STCacheStrategyLogicalConflictResolverLazyConflictResovlerIUserDefinedConditionISeedGeneratorIPartitioner用戶API簡介?應(yīng)用級(jí)IProcess原生IProcessModule(JobContext)SparkEventProcessor(EventContext)Dumbo(實(shí)時(shí)Mapreduce)MapperPreparerReducerMerger–使用MapperContext、ReducerContext等系統(tǒng)API簡介?重要接口和類類TableStrategyStorageStrategySegmentNameMappingSegment。SequencedSegmentTimedSegmentNameMappingRecordDumbo例子?代碼直接復(fù)用用,效果大不不一樣?例子(實(shí)時(shí),中間結(jié)結(jié)果可見)wordCount(與全量量mapreduce區(qū)別在在于:dumbo下的wordcount,實(shí)時(shí)時(shí)reduce結(jié)果是是可見見的,,即整整個(gè)計(jì)算結(jié)結(jié)果中中間可可被用用戶訪訪問)–訪問記記錄一次map、多次reduceSQL執(zhí)行K‐mean聚類實(shí)時(shí)join?代碼見見下頁頁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é)果record_b=iterator_b.next();}record_a=iterator_a.next();}}觸發(fā)器模式式例子?SNS推薦系統(tǒng)–用戶將公司司名修改,引發(fā)推薦的實(shí)時(shí)變化–某用戶增加加一個(gè)好友友會(huì)引發(fā)對(duì)對(duì)自己和對(duì)對(duì)別人的推推薦變化化–實(shí)時(shí)人立方(刪除關(guān)系)風(fēng)控CEP–離線風(fēng)險(xiǎn)控控制–在線風(fēng)險(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ī)制制。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物理-山東省淄博市2024-2025學(xué)年第一學(xué)期高三期末摸底質(zhì)量檢測試題和答案
- 小學(xué)一年級(jí)20以內(nèi)數(shù)學(xué)口算練習(xí)題大全
- 廈門第一中學(xué)初中英語八年級(jí)上冊(cè)-Unit-6基礎(chǔ)練習(xí)(培優(yōu)專題)
- 小學(xué)四年級(jí)數(shù)學(xué)乘除法豎式計(jì)算題
- 小學(xué)數(shù)學(xué)六年級(jí)上冊(cè)分?jǐn)?shù)乘除法計(jì)算單元小測試卷
- 普通高等學(xué)校招生全國統(tǒng)一考試(湖北卷)語文
- 《工業(yè)的區(qū)位選擇sk》課件
- 廣東省潮州市2023-2024學(xué)年高三上學(xué)期期末教學(xué)質(zhì)量檢測英語試題
- 環(huán)保企業(yè)保安工作內(nèi)容詳解
- 印刷行業(yè)印刷技術(shù)培訓(xùn)總結(jié)
- 四年級(jí)語文閱讀理解《嫦娥奔月(節(jié)選)》練習(xí)(含答案)
- 鼻咽炎-疾病研究白皮書
- 普速鐵路工務(wù)安全規(guī)則
- 石阡縣人民醫(yī)院內(nèi)科綜合大樓建設(shè)項(xiàng)目環(huán)評(píng)報(bào)告
- 業(yè)主搭建陽光房申請(qǐng)書
- 傷口愈合的病理生理及濕性愈合理論-課件
- 消費(fèi)主義影響下中國當(dāng)代陶藝的特點(diǎn)獲獎(jiǎng)科研報(bào)告
- 六分鐘步行試驗(yàn)記錄表
- 公債學(xué)學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 中等職業(yè)學(xué)校數(shù)學(xué)學(xué)科課程標(biāo)準(zhǔn)
- 教師書法培訓(xùn)教案
評(píng)論
0/150
提交評(píng)論