版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(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ù)、移動互聯(lián)網(wǎng)、移動支付–
欺詐、風(fēng)控對海量交易實(shí)時(shí)性–
用戶體驗(yàn)的個(gè)性化和實(shí)時(shí)性–
由點(diǎn)到面?
實(shí)時(shí)搜索、個(gè)人實(shí)時(shí)信息服務(wù)、SNS等背景? 技術(shù)背景MapReduce、Dryad等全量/增量計(jì)算平臺–
S4、Storm等流計(jì)算框架CEP以及EDA模型Pregel等圖計(jì)算模型傳統(tǒng)方案與業(yè)界進(jìn)展? 傳統(tǒng)方案–
MAPREDUCE:HDFS加載,存儲LOCALITY(容錯(cuò)性),順序IO,存儲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ò),可能會造成陷阱–
圖計(jì)算不友好–
迭代計(jì)算不友好圖計(jì)算? MapReduce為什么不適合圖計(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ù)據(jù)據(jù)集執(zhí)執(zhí)行計(jì)計(jì)算算和流流數(shù)據(jù)據(jù)保序序的實(shí)實(shí)時(shí)場場景–容錯(cuò)性性較差差–集群無無法動動態(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,而沒沒有考考慮Condition。實(shí)時(shí)(Streaming)成本(Throughput)?有所為為有所所不為為–通用計(jì)計(jì)算框框架,,用戶組組件只只需關(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,需需要用用戶代代碼自自己hold條件,,判斷條條件,進(jìn)而觸觸發(fā)join后的邏邏輯處處理。。但在在我們們的設(shè)設(shè)計(jì)理理念下下,這些condition完全可可以抽抽象為為復(fù)雜雜完備備事件件模型,所所以作作為通通用系系統(tǒng)應(yīng)應(yīng)該提提供condition的通用用功功能,,用戶只只需進(jìn)進(jìn)行配配置而而不是是編碼碼就可可以完成condition,那么么實(shí)時(shí)join在iprocess體系下下,用戶無無需編編碼處處理condition,而只只需處處理join后的的邏輯輯。IProcess?通用的的分布布式流流數(shù)據(jù)據(jù)實(shí)時(shí)時(shí)與持持續(xù)計(jì)計(jì)算平平臺–有向圖圖模型型?節(jié)點(diǎn)為為用戶戶編寫寫的組組件、邊為為事件件–觸發(fā)器器模式式–完備事件驅(qū)驅(qū)動的的架構(gòu)構(gòu),定定制復(fù)雜完完備事件條條件–支持相相關(guān)集集計(jì)算算和Reduce時(shí)數(shù)據(jù)據(jù)集生生成(k‐mean)–樹存儲儲模型型,支持不不同級級別定定制不不同一一致性性模型型和事事務(wù)務(wù)模型型–可擴(kuò)展展的編編程模模型?提出并并支持持樹型型實(shí)時(shí)MR和增量/定時(shí)MRIProcess?通用的的分布布式流流數(shù)據(jù)據(jù)實(shí)時(shí)時(shí)與持持續(xù)計(jì)計(jì)算平平臺–持續(xù)與AdHoc計(jì)算(endpoint)–微內(nèi)核核+組件系系統(tǒng)(系統(tǒng)級級組件件+用戶組組件)–多任務(wù)務(wù)服務(wù)務(wù)化,,任務(wù)務(wù)沙箱箱,優(yōu)優(yōu)先級級,任務(wù)務(wù)調(diào)度度–兩級容容錯(cuò)::應(yīng)用用級和和系統(tǒng)統(tǒng)級,,運(yùn)算算時(shí)動動態(tài)擴(kuò)擴(kuò)容–系統(tǒng)級級組件件系統(tǒng)統(tǒng):實(shí)實(shí)時(shí)join、二級級索引引、倒倒排表表、物化視視圖圖、counter…–分布式式系統(tǒng)統(tǒng)的容容錯(cuò),,自動動擴(kuò)展展,通通訊,,調(diào)度度–保序…IProcess?基礎(chǔ)的的運(yùn)行行系統(tǒng)統(tǒng)–引入CEP規(guī)則引引擎模模塊((RPM),類類似hive與MR–引入數(shù)數(shù)據(jù)集集控制制(用用于機(jī)機(jī)器學(xué)學(xué)習(xí))),BI–引入類類SQL語言,,DSL引擎–引入圖圖計(jì)算算模型型邏輯模模型持續(xù)計(jì)計(jì)算Ad‐HocQuery–不可枚枚舉用戶搜搜索(online),DBSQL?持續(xù)計(jì)計(jì)算–計(jì)算相相對固固定、、可枚枚舉–數(shù)據(jù)流流動SQL、MRIProcess整體架架構(gòu)整體拓拓?fù)溥\(yùn)行過過程?三個(gè)步步驟–簡單事事件發(fā)發(fā)射(分布式)–復(fù)雜事事件完完備性性判斷斷(集集中式式、分分布式式)?分布式式事務(wù)務(wù)–盡量避避免((機(jī)制制保證證)–強(qiáng)事務(wù)務(wù)(MVCC)、邏邏輯事事務(wù)、弱事事務(wù)–觸發(fā)下下一個(gè)個(gè)環(huán)節(jié)節(jié)IProcess的存儲儲?樹結(jié)構(gòu)構(gòu)的存存儲–不同的的一致致性和和事務(wù)務(wù)模型型?區(qū)分實(shí)實(shí)時(shí)數(shù)數(shù)據(jù)與與其它它數(shù)據(jù)據(jù)的存存儲?兩級容容錯(cuò)–應(yīng)用級級和系系統(tǒng)級級?運(yùn)算時(shí)時(shí)動態(tài)態(tài)擴(kuò)容容?保序Latency、throughput、可靠靠性–動態(tài)tradeoffIProcess的存儲儲MR模型的的本質(zhì)質(zhì)Reduce(key,valueList,context)實(shí)現(xiàn)STCacheStrategy接口QStore:持久久化存存儲。。IProcess的存儲儲‐amber與MR容錯(cuò)性性的區(qū)區(qū)別::應(yīng)用用級體體現(xiàn)在在amber,系統(tǒng)統(tǒng)級體體現(xiàn)在在st與gtIProcess的存儲儲‐GlobalTableHbase維護(hù)分分支Segment分裂策策略Coprocessor沙箱類Redis接口–容量規(guī)規(guī)劃–剝離行行事務(wù)務(wù)YahooOmidIProcess要點(diǎn)回回顧?完備事件模模型–基礎(chǔ)模模型:觸發(fā)器器模式式?可擴(kuò)展展的編編程模模型(類似于HIVE與hadoop的關(guān)系)Spark(類似storm,完全全的流流處理理,無condition)Dumbo(實(shí)時(shí)時(shí)MapReduce框架))Graphcomputing(實(shí)時(shí)時(shí)pregel)SQL:HiveIProcess要點(diǎn)回回顧?樹狀存存儲?事務(wù)模模型–邏輯事事務(wù)–弱事務(wù)務(wù)–強(qiáng)事務(wù)務(wù)?運(yùn)行時(shí)時(shí)擴(kuò)容容?系統(tǒng),,應(yīng)用用量級級容錯(cuò)錯(cuò)?保序應(yīng)用場場景特特點(diǎn)?響應(yīng)時(shí)時(shí)間:實(shí)時(shí)–毫秒級級別((子圖圖)–秒級別–分鐘級別別?圖復(fù)雜度度–節(jié)點(diǎn)簡單單且重、圖復(fù)雜–節(jié)點(diǎn)簡單單但輕、、圖復(fù)雜雜–節(jié)點(diǎn)復(fù)雜雜但輕、圖簡單–節(jié)點(diǎn)復(fù)雜雜且重、、圖簡單單應(yī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)級((高級接接口)STCacheStrategyLogicalConflictResolverLazyConflictResovlerIUserDefinedConditionISeedGeneratorIPartitioner用戶API簡介?應(yīng)用級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í)reduce結(jié)果是可見的的,即整個(gè)計(jì)算結(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)才會實(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)–用戶戶將將公公司司名名修修改,引發(fā)發(fā)推推薦薦的實(shí)時(shí)變化化–某用用戶戶增增加加一一個(gè)個(gè)好好友友會會引引發(fā)發(fā)對對自自己己和和對對別別人人的的推推薦薦變變化化–實(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ù)務(wù)化化,,云云???邊界界–計(jì)算算可可枚枚舉舉–計(jì)算算可可加加–依賴賴相相關(guān)關(guān)集集較較小小?建模模介于于BSP與DOT之間間Runtime的的executeplan優(yōu)優(yōu)化化目標(biāo)標(biāo)?打造造平平臺臺–實(shí)時(shí)時(shí)計(jì)計(jì)算算–持續(xù)續(xù)計(jì)計(jì)算算–Iprocess將專專注注于于完完備備事事件件機(jī)機(jī)制制。。?只提提供供最最基基本本的的功功能能,提供供高高度度可可定定制制的的接接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同變更協(xié)議書
- 酒水銷售協(xié)議合同范本
- 物理真題:2024年高考遼寧卷物理真題
- 2024年中考物理(長沙卷)真題詳細(xì)解讀及評析
- 進(jìn)戶門購銷合同
- 2025標(biāo)準(zhǔn)網(wǎng)站開發(fā)合同
- 2025軟件購買合同
- 育兒嫂家政服務(wù)勞動合同協(xié)議
- 技能培訓(xùn)對員工職業(yè)素質(zhì)的影響
- 服裝的買賣合同
- 醫(yī)院6s管理成果匯報(bào)護(hù)理課件
- 微整培訓(xùn)課件
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 第19章 一次函數(shù) 單元整體教學(xué)設(shè)計(jì) 【 學(xué)情分析指導(dǎo) 】 人教版八年級數(shù)學(xué)下冊
- 電梯結(jié)構(gòu)與原理-第2版-全套課件
- IEC-62368-1-差異分享解讀
- 2022-2023學(xué)年廣東省佛山市順德區(qū)高三(下)模擬英語試卷
- 節(jié)后復(fù)工培訓(xùn)內(nèi)容五篇
- GB/T 33322-2016橡膠增塑劑芳香基礦物油
- GA 1051-2013槍支彈藥專用保險(xiǎn)柜
- 某水毀公路維修工程施工方案
評論
0/150
提交評論