版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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í)性–
用戶體驗(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)展? Storm:2011.9,twitter,0.5.2業(yè)界進(jìn)展‐Storm系統(tǒng)邊界S4、Storm–
只能處理“獨(dú)立”的流數(shù)據(jù)–
無法處理“復(fù)雜”事件(condition),需要用戶handle復(fù)雜的條件–
不能很好的適用于大部分需要相關(guān)數(shù)據(jù)集執(zhí)行計(jì)算和流數(shù)據(jù)保序的實(shí)時(shí)場(chǎng)景–
容錯(cuò)性較差–
集群無法動(dòng)態(tài)擴(kuò)展業(yè)界進(jìn)展? 其它StreamBaseBorealisStreamInsightPercolatorHbase
coprocessorPregeldremel–
…設(shè)計(jì)理念負(fù)責(zé)任(Condition)–
MapReduce本質(zhì)上保證了Reduce觸發(fā)的條件,即所有map都結(jié)束(但這點(diǎn)很容易被忽視)。–
實(shí)時(shí)計(jì)算Condition很容易被忽略。很多只是考慮了streaming,而沒有考慮Condition。實(shí)時(shí)(Streaming)成本(Throughput)? 有所為有所不為–
通用計(jì)算框架,用戶組件只需關(guān)心業(yè)務(wù)邏輯。–
涉及到業(yè)務(wù)邏輯統(tǒng)統(tǒng)不做。設(shè)計(jì)理念? 舉例–
實(shí)時(shí)JOIN(后面有具體代碼)在storm(不考慮Condition)框架下,實(shí)現(xiàn)join,需要用戶代碼自己hold條件,判斷條件,進(jìn)而觸發(fā)join后的邏輯處理。但在我們的設(shè)計(jì)理念下,這些condition完全可以抽象為復(fù)雜完備事件模型,所以作為通用系統(tǒng)應(yīng)該提供condition的通用功能,用戶只需進(jìn)行配置而不是編碼就可以完成condition,那么實(shí)時(shí)join在iprocess體系下,用戶無需編碼處理condition,而只需處理join后的邏輯。IProcess? 通用的分布式流數(shù)據(jù)實(shí)時(shí)與持續(xù)計(jì)算平臺(tái)–
有向圖模型? 節(jié)點(diǎn)為用戶編寫的組件、邊為事件–
觸發(fā)器模式–
完備事件驅(qū)動(dòng)的架構(gòu),定制復(fù)雜完備事件條件–
支持相關(guān)集計(jì)算和Reduce時(shí)數(shù)據(jù)集生成(k‐mean)–
樹存儲(chǔ)模型,支持不同級(jí)別定制不同一致性模型和事務(wù)模型–
可擴(kuò)展的編程模型? 提出并支持樹型實(shí)時(shí)MR和增量/定時(shí)MRIProcess? 通用的分布式流數(shù)據(jù)實(shí)時(shí)與持續(xù)計(jì)算平臺(tái)–
持續(xù)與AdHoc計(jì)算(endpoint)–
微內(nèi)核+組件系統(tǒng)(系統(tǒng)級(jí)組件+用戶組件)–
多任務(wù)服務(wù)化,任務(wù)沙箱,優(yōu)先級(jí),任務(wù)調(diào)度–
兩級(jí)容錯(cuò):應(yīng)用級(jí)和系統(tǒng)級(jí),運(yùn)算時(shí)動(dòng)態(tài)擴(kuò)容–
系統(tǒng)級(jí)組件系統(tǒng):實(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ī)器學(xué)習(xí)),BI–
引入類SQL語(yǔ)言,DSL引擎–
引入圖計(jì)算模型邏輯模型持續(xù)計(jì)算Ad‐Hoc
Query–
不可枚舉用戶搜索(online),DB
SQL? 持續(xù)計(jì)算–
計(jì)算相對(duì)固定、可枚舉–
數(shù)據(jù)流動(dòng)SQL、MR
IProcess整體架構(gòu)整體拓?fù)溥\(yùn)行過程? 三個(gè)步驟–
簡(jiǎn)單事件發(fā)射(分布式)–
復(fù)雜事件完備性判斷(集中式、分布式)?
分布式事務(wù)–
盡量避免(機(jī)制保證)–
強(qiáng)事務(wù)(MVCC)、邏輯事務(wù)、弱事務(wù)–
觸發(fā)下一個(gè)環(huán)節(jié)IProcess的存儲(chǔ)? 樹結(jié)構(gòu)的存儲(chǔ)–
不同的一致性和事務(wù)模型? 區(qū)分實(shí)時(shí)數(shù)據(jù)與其它數(shù)據(jù)的存儲(chǔ)? 兩級(jí)容錯(cuò)–
應(yīng)用級(jí)和系統(tǒng)級(jí)? 運(yùn)算時(shí)動(dòng)態(tài)擴(kuò)容? 保序Latency、throughput、可靠性–
動(dòng)態(tài)tradeoffIProcess的存儲(chǔ)MR模型的本質(zhì)Reduce(key,valueList,context)實(shí)現(xiàn)STCacheStrategy接口QStore:持久化存儲(chǔ)。IProcess的存儲(chǔ)‐amber與MR容錯(cuò)性的區(qū)別:應(yīng)用級(jí)體現(xiàn)在amber,系統(tǒng)級(jí)體現(xiàn)在st與gtIProcess的存儲(chǔ)‐
GlobalTableHbase維護(hù)分支Segment分裂策略Coprocessor沙箱類Redis接口–
容量規(guī)劃–
剝離行事務(wù)Yahoo
OmidIProcess要點(diǎn)回顧? 完備事件模型–
基礎(chǔ)模型:觸發(fā)器模式? 可擴(kuò)展的編程模型(類似于HIVE與hadoop的關(guān)系)Spark(類似storm,完全的流處理,無condition)Dumbo(實(shí)時(shí)MapReduce框架)Graph
computing(實(shí)時(shí)pregel)SQL:HiveIProcess要點(diǎn)回顧? 樹狀存儲(chǔ)? 事務(wù)模型–
邏輯事務(wù)–
弱事務(wù)–
強(qiáng)事務(wù)? 運(yùn)行時(shí)擴(kuò)容? 系統(tǒng),應(yīng)用量級(jí)容錯(cuò)? 保序應(yīng)用場(chǎng)景特點(diǎn)? 響應(yīng)時(shí)間:實(shí)時(shí)–
毫秒級(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)How
to
use?? 使用IProcess需要準(zhǔn)備什么?–
組件集–
配置(有向圖,事件)–
拓?fù)銱ow
to
use?
A
demo? 簡(jiǎn)化的資訊實(shí)時(shí)搜索實(shí)時(shí)搜索用戶API簡(jiǎn)介? 系統(tǒng)級(jí)(高級(jí)接口)STCacheStrategyLogicalConflictResolverLazyConflictResovlerIUserDefinedConditionISeedGeneratorIPartitioner用戶API簡(jiǎn)介? 應(yīng)用級(jí)IProcess原生IProcessModule(JobContext)SparkEventProcessor(EventContext)Dumbo(實(shí)時(shí)Mapreduce)MapperPreparerReducerMerger–
使用MapperContext、
ReducerContext等系統(tǒng)API簡(jiǎn)介? 重要接口和類TableStrategyStorageStrategySegmentNameMappingSegment。SequencedSegmentTimedSegmentNameMappingRecordDumbo例子? 代碼直接復(fù)用,效果大不一樣? 例子(實(shí)時(shí),中間結(jié)果可見)wordCount(與全量mapreduce區(qū)別在于:dumbo下
的wordcount,實(shí)時(shí)reduce結(jié)果是可見的,即整個(gè)計(jì)算結(jié)果中間可被用戶訪問)–
訪問記錄一次map、多次reduceSQL執(zhí)行K‐mean聚類實(shí)時(shí)join? 代碼見下頁(yè)Dumbo例子? 實(shí)時(shí)join代碼(join好一條輸出一條)classMemberMapper
:public
Mapper{public:void
map(const
string&
key,
const
RecordPtr
value,
MapperContextPtr
context){context‐>add(value‐>get_field("member_id").toString(),value,"member");}}classProductMapper
:
public
Mapper{public:void
map(const
string&
key,
const
RecordPtr
value,
MapperContextPtr
context){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í)join的代碼)int32_t
reduce(string
key,
map<string,
RecordIterator>
taged_value_iterator,
ReducerContext
context){string
tag_a
=
“member";
string
tag_b
=
“product";RecordIterator
iterator_a
=
taged_value_iterator.find("A")‐>second;
RecordIterator
iterator_b
=
taged_value_iterator.find("B")‐>second;
RecordPtr
record_a
=iterator_a.begin();while(record_a){RecordPtr
record_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ì)別人的推薦變化–
實(shí)時(shí)人立方(刪除關(guān)系)風(fēng)控CEP–
離線風(fēng)險(xiǎn)控制–
在線風(fēng)險(xiǎn)控制系統(tǒng)邊界? 目前的問題– 跨語(yǔ)言– 吞吐量– 易用性– 服務(wù)化,云?? 邊界– 計(jì)算可枚舉– 計(jì)算可加– 依
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《工程設(shè)備復(fù)習(xí)》課件
- 心電信號(hào)識(shí)別技術(shù)-洞察分析
- 文物保護(hù)國(guó)際合作與交流-洞察分析
- 文本轉(zhuǎn)換的語(yǔ)義依賴規(guī)則研究-洞察分析
- 形式化方法在中綴轉(zhuǎn)后綴轉(zhuǎn)換中的應(yīng)用研究-洞察分析
- 物聯(lián)網(wǎng)安全防護(hù)-第1篇-洞察分析
- 特種水泥性能優(yōu)化-洞察分析
- 初級(jí)職稱個(gè)人專業(yè)技術(shù)工作總結(jié)范文(12篇)
- 醫(yī)學(xué)圖像增強(qiáng)與降噪算法-洞察分析
- 網(wǎng)絡(luò)切片技術(shù)在行業(yè)專網(wǎng)的應(yīng)用研究-洞察分析
- 《生于華夏何其有幸》演講稿
- 水文地質(zhì)學(xué)基礎(chǔ):第十一章 裂隙水
- 氣道廓清技術(shù)及護(hù)理課件
- 總包向防火門單位移交防火門安裝工作面交接單
- A、D式離心風(fēng)機(jī)使用說明書
- 小學(xué)數(shù)學(xué)人教版一年級(jí)下第六單元教材分析(2)
- 深化設(shè)計(jì)交流分享PPT
- 公開選擇招標(biāo)代理機(jī)構(gòu)綜合評(píng)分表
- 醫(yī)院醫(yī)用氣體管路的設(shè)計(jì)計(jì)算(2014)
- 政協(xié)提案關(guān)于加快我民營(yíng)經(jīng)濟(jì)發(fā)展的幾點(diǎn)建議
- 土地儲(chǔ)備專項(xiàng)債券發(fā)行操作流程
評(píng)論
0/150
提交評(píng)論