![淘宝分布式大数据及实时流数据技术架构2_第1页](http://file4.renrendoc.com/view/b99e4da75496d5597b99822a27a31ad9/b99e4da75496d5597b99822a27a31ad91.gif)
![淘宝分布式大数据及实时流数据技术架构2_第2页](http://file4.renrendoc.com/view/b99e4da75496d5597b99822a27a31ad9/b99e4da75496d5597b99822a27a31ad92.gif)
![淘宝分布式大数据及实时流数据技术架构2_第3页](http://file4.renrendoc.com/view/b99e4da75496d5597b99822a27a31ad9/b99e4da75496d5597b99822a27a31ad93.gif)
![淘宝分布式大数据及实时流数据技术架构2_第4页](http://file4.renrendoc.com/view/b99e4da75496d5597b99822a27a31ad9/b99e4da75496d5597b99822a27a31ad94.gif)
![淘宝分布式大数据及实时流数据技术架构2_第5页](http://file4.renrendoc.com/view/b99e4da75496d5597b99822a27a31ad9/b99e4da75496d5597b99822a27a31ad95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淘宝分布式大数据及实时流数据技术架构提纲• 背景• 目标• 传统方案与业界进展• 设计理念(重点)• 技术架构• 要点• 例子• 系统边界• 计划背景• 应用背景–
数据量急剧增加–
Web
1.0
web
2.0,
publicego
net–
电子商务、移动互联网、移动支付–
欺诈、风控对海量交易实时性–
用户体验的个性化和实时性–
由点到面•
实时搜索、个人实时信息服务、SNS等背景• 技术背景MapReduce、Dryad等全量/增量计算平台–
S4、Storm等流计算框架CEP以及EDA模型Pregel等图计算模型传统方案与业界进展• 传统方案–
MAPREDUCE:HDFS加载,存储LOCALITY(容错性),顺序IO,存储HDFS, 单输入,单输出独立数据Di Latency(i)输入输入计算过程下载Mapshuffle输出独立数据DnlatencyLatency(n)reduceMapreduce
JobIProcess
JobHadoop之于实时• 问题(hadoop本质是为全量而生)–
任务内串行–
重吞吐量,响应时间完全没有保证–
中间结果不可见,不可共享–
单输入单输出,链式浪费严重–
链式MR不能并行–
粗粒度容错,可能会造成陷阱–
图计算不友好–
迭代计算不友好图计算• MapReduce为什么不适合图计算?–
迭代–
边的量级远大于节点• 图计算特点–
适应于事件机制,规模大(边),但单条数据不大–
很难分布式(locality、partition,一直都是难点)–
容错性Google
Pregel•
本质上还是全量•
中间结果不可见超步过多(IProcess)Pregel
vs.
IProcess图计算IProcess
乱序执行,避免了不必要的超步
实时图计算,图计算注定慢,但是效果的可以渐显。迭代计算• 特点–
结构固定• 本质Update• 方案–
传统MR模型,hadoop效率太低HaloopIprocess0.4实时计算业界进展S4–
2010年底,Yahoo,0.3,windowtodo业界进进展•Storm:2011.9,twitter,业界进进展‐Storm系统边边界S4、Storm–只能处处理“独立”的流数数据–无法处处理““复杂杂”事事件(condition),需需要要用用户户handle复杂杂的的条条件件–不能能很很好好的的适适用用于于大大部部分分需需要要相相关关数数据据集集执执行行计计算算和和流流数数据据保保序序的的实实时时场场景景–容错错性性较较差差–集群群无无法法动动态态扩扩展展业界界进进展展•其它它StreamBaseBorealisStreamInsightPercolatorHbasecoprocessorPregeldremel–…设计计理理念念负责责任任(Condition)–MapReduce本质质上上保保证证了了Reduce触发发的的条条件件,,即即所所有有map都结结束束((但但这这点点很很容容易易被被忽忽视视))。。–实时时计计算算Condition很容容易易被被忽忽略略。很多多只只是是考考虑了了streaming,而而没没有有考考虑虑Condition。实时时(Streaming)成本本(Throughput)•有所所为为有有所所不不为为–通用用计计算算框框架架,,用户户组组件件只只需需关关心心业业务务逻逻辑辑。–涉及及到到业业务务逻逻辑辑统统统统不不做做。。设计计理理念念•举例例–实时时JOIN(后面面有有具具体体代代码码)在storm(不不考考虑Condition)框框架架下下,,实实现join,需需要要用用户户代代码码自自己己hold条件件,,判断断条条件件,进而而触触发join后的的逻逻辑辑处处理理。。但但在在我我们们的的设设计计理理念念下下,,这些些condition完全全可可以以抽抽象象为为复复杂杂完完备备事事件件模模型,,所所以以作作为为通通用用系系统统应应该该提提供供condition的通通用用功功能能,,用户只需需进行配配置而不不是编码码就可以以完成condition,那么实实时join在iprocess体系下,,用户无需需编码处处理condition,而只需需处理join后的逻逻辑。IProcess•通用的分分布式流流数据实实时与持持续计算算平台–有向图模模型•节点为用用户编写写的组件、边为事事件–触发器模模式–完备事件驱动动的架构构,定制制复杂完备备事件条件件–支持相关关集计算算和Reduce时数据集集生成(k‐mean)–树存储模模型,支持不同同级别定定制不同同一致性性模型和和事务务模型–可扩展的的编程模模型•提出并支支持树型型实时MR和增量/定时MRIProcess•通用的分分布式流流数据实实时与持持续计算算平台–持续与AdHoc计算(endpoint)–微内核+组件系统统(系统级组组件+用户组件件)–多任务服服务化,,任务沙沙箱,优优先级,任务调调度–两级容错错:应用用级和系系统级,,运算时时动态扩扩容–系统级组组件系统统:实时时join、二级索索引、倒倒排表、、物化视视图、counter…–分布式系系统的容容错,自自动扩展展,通讯讯,调度度–保序…IProcess•基础的运行系系统–引入CEP规则引擎模块块(RPM),类似hive与MR–引入数据集控控制(用于机机器学习),,BI–引入类SQL语言,DSL引擎–引入图计算模模型逻辑模型持续计算Ad‐HocQuery–不可枚举用户搜索(online),DBSQL•持续计算–计算相对固定定、可枚举–数据流动SQL、MRIProcess整体架构整体拓扑运行过程•三个步骤–简单事件发射(分布式)–复杂事件完备备性判断(集集中式、分布布式)•分布式事务–尽量避免(机机制保证)–强事务(MVCC)、逻辑事务、弱事务–触发下一个环环节IProcess的存储•树结构的存储储–不同的一致性性和事务模型型•区分实时数据据与其它数据据的存储•两级容错–应用级和系统统级•运算时动态扩扩容•保序Latency、throughput、可靠性–动态tradeoffIProcess的存储MR模型的本质质Reduce(key,valueList,context)实现STCacheStrategy接口QStore:持久化存存储。IProcess的存储‐amber与MR容错性的区区别:应用用级体现在在amber,系统级体体现在st与gtIProcess的存储‐GlobalTableHbase维护分支Segment分裂策略Coprocessor沙箱类Redis接口–容量规划–剥离行事务务YahooOmidIProcess要点回顾•完备事件模型–基础模型:触发器模式式•可扩展的编编程模型(类似于HIVE与hadoop的关系)Spark(类似storm,完全的流流处理,无condition)Dumbo(实时MapReduce框架)Graphcomputing(实时pregel)SQL:HiveIProcess要点回顾•树状存储•事务模型–逻辑事务–弱事务–强事务•运行时扩容容•系统,应用用量级容错错•保序应用场景特特点•响应时间:实时–毫秒级别((子图)–秒级别–分钟钟级级别别•图复复杂杂度度–节点点简简单单且且重、图复复杂杂–节点点简简单单但但轻轻、、图图复复杂杂–节点点复复杂杂但但轻、图简简单单–节点点复复杂杂且且重重、、图图简简单单应用用场场景景特特点点•语言言C++、Java、ShellSQL–规则则DSL•模型型–触发发器、、简单单事事件、实实时MR、图计计算算–…应用用架架构构Howtouse?•使用用IProcess需要要准准备备什什么?–组件件集集–配置置(有向向图图,,事事件件)–拓扑扑Howtouse?Ademo•简化化的的资资讯讯实实时时搜搜索索实时时搜搜索索用户户API简介介•系统统级级((高高级级接接口口))STCacheStrategyLogicalConflictResolverLazyConflictResovlerIUserDefinedConditionISeedGeneratorIPartitioner用户API简介•应用级IProcess原生IProcessModule(JobContext)SparkEventProcessor(EventContext)Dumbo(实时Mapreduce)MapperPreparerReducerMerger–使用MapperContext、ReducerContext等系统API简介•重要接口和类类TableStrategyStorageStrategySegmentNameMappingSegment。SequencedSegmentTimedSegmentNameMappingRecordDumbo例子•代码直接复用用,效果大不不一样•例子(实时,中间结结果可见)wordCount(与全量量mapreduce区别在在于:dumbo下的wordcount,实时时reduce结果是是可见见的,,即整整个计算结结果中中间可可被用用户访访问)–访问记记录一次map、多次reduceSQL执行K‐mean聚类实时join•代码见见下页页Dumbo例子•实时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例子•实时join代码(reduce触发的的条件件在配配置文文件中中,即相同joinkey的a数据和b数据都ready(condition),系统才会实时调用reduce-大家可以比较较在storm下实现实实时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的结果record_b=iterator_b.next();}record_a=iterator_a.next();}}触发器模式式例子•SNS推荐系统–用户将公司司名修改,引发推荐的实时变化–某用户增加加一个好友友会引发对对自己和对对别人的推推荐变化化–实时人立方(删除关系)风控CEP–离线风险控控制–在线风险控控制系统边界•目前的问题题–跨语言–吞吐量–易用性–服务化,云云?•边界–计算可枚举举–计算可加加–依赖相关关集较小小•建模介于BSP与DOT之间Runtime的executeplan优化目标•打造平台台–实时计算算–持续计算算–Iprocess将专注于于完备事事件机制制。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省邵阳市隆回县重点中学2025届中考生物全真模拟试题含解析
- 山东省滨州市部分校2025届中考五模生物试题含解析
- 物流运输企业的合同范本
- 变更合同条款补充协议
- 2025届北京市大兴区大兴区北臧村中学中考生物对点突破模拟试卷含解析
- 2025年班主任工作计划报告个人工作计划
- 装修标准合同
- 废旧油罐拆除协议
- 房屋买卖合同双方的权利和义务
- 2025年幼儿园月计划表报告
- 2024年度-IATF16949运行培训课件
- 理解师生关系的重要性
- 中国移动行测测评题及答案
- 统编版语文八年级下册第7课《大雁归来》分层作业(原卷版+解析版)
- 2024年湖南省普通高中学业水平考试政治试卷(含答案)
- 零售企业加盟管理手册
- 设备维保的维修流程与指导手册
- 招标代理服务的关键流程与难点解析
- 材料预定协议
- 2023年河北省中考数学试卷(含解析)
- 《学习的本质》读书会活动
评论
0/150
提交评论