ArchSummit北京-《Uber的流处理系统及实践》-袁泳

ArchSummit北京-《Uber的流处理系统及实践》-袁泳

ID:8219391

大小:9.07 MB

页数:124页

时间:2018-03-10

ArchSummit北京-《Uber的流处理系统及实践》-袁泳_第1页
ArchSummit北京-《Uber的流处理系统及实践》-袁泳_第2页
ArchSummit北京-《Uber的流处理系统及实践》-袁泳_第3页
ArchSummit北京-《Uber的流处理系统及实践》-袁泳_第4页
ArchSummit北京-《Uber的流处理系统及实践》-袁泳_第5页
资源描述:

《ArchSummit北京-《Uber的流处理系统及实践》-袁泳》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、优步流处理应用袁泳@UBER优步简介便捷交通,弹指之间流数据-城市的脉搏市场动态当前全球有多少车可用过去10分钟里旧金山里每个区域有多少车载客?过去10分钟里旧金山里每个六边形有多少车载客?历史变化状态跟踪出发点优步平台本质:分布式状态机乘客状态优步平台本质:分布式状态机乘客状态司机状态各类应用生成事件秒级事件延迟事件绝少丢失收集事件消息-低开销、易扩展挑战在哪里?多维度每个事件消息包含数十字段细粒度数据细粒度数据细粒度数据每个城市多于10,000六边形细粒度数据7种车型细粒度数据一天1440分钟细粒度数据13种司机状态细粒度数据300座城市细粒度数据一天数据量:300x10

2、,000x7x1440x13=3930亿可能组合查询模式不定任意维度的组合多种聚合查询HeatmapTopNHistogramcount(),avg(),sum(),percent(),geo多变的地理位置聚合查询高流量•数十万条消息每秒,数百亿一天•每条消息包含数十字段短时交货关键:把问题一般化数据类型•多维时序数据维度值statedriver_arrivedvehicletypeuberXtimestamp13244323342lattitude12.23longitude30.00数据查询•基于单表时空数据的OLAPSELECT,

3、sions>FROMWHEREGROUPBYHAVINGORDERBYLIMITDO选择存储系统最低要求•支持时序和地理空间的OLAP•支持大流量数据•支持秒级查询•支持原始数据查询键值数据库键值数据库一键一值:预算所有组合维度值AaBb一键一值:预算所有组合•布尔操作符:AND,OR,NOT维度值AaBb一键一值:预算所有组合•布尔操作符:AND,OR,NOT维度值•Aand(notB)Aa

4、•Band(notA)Bb•AorB•not(AorB)一键一值:预算所有组合维度•{A}•{B}A•{A,B}B•{}一键一值:预算所有组合维度•{A}•{B}A—>计算幂集•{A,B}B•{}键值数据库的局限n预算所有键值组合的时空复杂度:O(2)关系数据库关系数据库关系数据库的局限•不易管理多项索引关系数据库的局限•扫描速度不够但我的KV系统速度奇快光快不行一个城市里每个六边形里车的数目=>18,000次查询平均延迟:1ms99.99百分位延迟:2s失败率:0.001%光快不行18000一次查询延迟超过99.99百分位的概率:(1-0.9999)x=83%18000一次

5、查询成功的概率:(1-0.00001)=84%系统必备功能•快速扫描•布尔查询•原始数据•各类聚合Elasticsearch基于高效倒排索引的布尔查询内建分布式查询快速扫描,灵活聚合存储搞定没?数据转换e.g.(Lat,Long)->(zipcode,hexagon)动态定价趋势预测供求分布技术上说:Clustering&Pr(D,S,E)新场景—>新需求预处理JoiningMultipleStreamsSessionization多级处理状态管理ApacheSamzaWhyApacheSamza?DAGonKafka与Kafka的一流整合内置检查点内置状态管理处理存储存储层

6、当掉怎么办?预处理耗时太久怎么办?处理存储终于搞定了?后期处理查询结果转换和平滑处理查询结果转换和平滑处理计算规模一个城市至少10,000六边形计算规模每个六边形331个邻居需要处理计算规模一次查询:331x10,000=310万六边形计算规模99%-ile处理时间:70ms简单架构“Youcanhaveasecondcomputeronceyou’veshownyouknowhowtousethefirstone.”-PaulGraham后期处理•每个处理单元都是纯函数•通过组合算子组合处理单元后期处理•高度并行化的执行•流水线务实考量数据发现Elasticsearch查询语

7、句过度复杂SELECTtimeseries(7d) FROMdriverAcceptanceRateWHEREgeo_dist(10, [37, 22])ANDtimeIN(2015‐02‐04,2015‐03‐06) AND msg.driverId=1Elasticsearch查询可以优化•流水线•查询验证•查询限速secondsTimeinElasticsearch也许会被替换ProcessingStorageQuery还有一件事数据流里总有不同模式总有快速探索发现模式的需要多少司机在5分钟内连续

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。