druid在小米公司部分技术实践

druid在小米公司部分技术实践

ID:35514547

大小:145.45 KB

页数:6页

时间:2019-03-25

druid在小米公司部分技术实践_第1页
druid在小米公司部分技术实践_第2页
druid在小米公司部分技术实践_第3页
druid在小米公司部分技术实践_第4页
druid在小米公司部分技术实践_第5页
资源描述:

《druid在小米公司部分技术实践》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Druid在小米公司部分技术实践本文章来自于阿里云云栖社区摘要: 引言:Druid作为一款开源的实时大数据分析软件,自诞生以来,凭借自己优秀的特质,不仅逐渐在技术圈收获了越来越多的知名度与口碑,并且陆续成为了很多技术团队解决方案中的关键一环,从而真正在很多公司的技术栈中赢得了一席之地。引言:Druid作为一款开源的实时大数据分析软件,自诞生以来,凭借自己优秀的特质,不仅逐渐在技术圈收获了越来越多的知名度与口碑,并且陆续成为了很多技术团队解决方案中的关键一环,从而真正在很多公司的技术栈中赢得了一席之地。  本文通过对小米公司技术团队对Druid的实践案例与经验的介绍

2、,让大家对Druid有更加全面和深入的了解,希望能够帮助你事半功倍地学习Druid这项年轻的技术。  本文选自《Druid实时大数据分析原理与实践》。  小米公司正式成立于2010年4月,是一家专注于高端智能手机、互联网电视以及智能家居生态链建设的创新型科技企业。  “让每个人都能享受科技的乐趣”是小米公司的愿景。小米公司应用互联网模式开发产品,用工匠精神做产品,用互联网模式节省了中间环节,致力于让全球每个人都能享用来自中国的优质科技产品。                                小米大云平台技术架构示意图  Druid在数据分析层帮助实时收

3、集海量的事件数据,快速进行商业分析,在多个场景中都有应用。这里介绍Druid在小米统计产品和小米广告平台中的部分技术实践。场景一:小米统计服务  小米统计是小米为App开发者提供的移动应用数据统计服务,帮助开发者通过数据了解应用发展状况、渠道推广效果和用户参与情况等信息,使开发者可以更好地优化体验和运营,促进产品不断发展进步。小米统计的入口是tongji.xiaomi.com,服务界面如下。                                    小米统计服务界面  实时的数据分析重要需求,在产品发展过程中,也经历了几个技术阶段,这几个阶段并非完全互

4、斥,而是应用于不同的场景和时间。  第一阶段:数据存储在Hadoop中,通过MapReduce的脚本进行分析和处理。有一部分复杂的任务会以天为单位被执行,并且最后会将结果写入到如MySQL的RDBMS中。  第二阶段:在业务发展过程中MySQL很快变成了瓶颈,有两个原因,一是数据库的Schema更改成本高,新业务不断需要增加新列和新表,流程烦琐而且需要进行Schema设计;二是在进行大量写操作的情况下,数据库的负载增加会导致数据库的读性能下降,而且偶尔有死锁的现象。为了解决这些问题,引入了HBase作为主要存储数据库,利用HBase的列族,方便增加数据列。另外,H

5、Base的可用性也高于MySQL。  第三阶段:为了改进数据的实时性,后期增加了Storm分布式计算模式,使用Storm可以方便地进行各种复杂的数据处理,各种聚合和处理需要通过程序实现,增加一个数据维度,改动比较大,需要从上游到下游整体修改。这种方式的优点是可靠性好,数据处理能力强,可以进行各种角度的优化。  第四阶段:小米统计的很多数据查询都是选择一些指标和过滤条件,很多场景类似于传统的数据仓库,因此引入Druid处理一些标准报告的实时数据查询场景。数据流会依次通过Kaa和Tranquility,最后进入Druid集群。Druid集群最终能提供最近一天的数据查

6、询功能,并且允许用户直接访问。                                       小米统计数据流  Druid作为一种实时分析数据库,提升了小米大数据平台和商业产品部门的实时数据分析能力。场景二:广告平台实时数据分析  Druid来源于广告业务,小米广告平台也利用Druid进行实时的数据分析,帮助实时分析线上的各种维度的变化,包括上线部署的实时监控分析、A/B测试的效果查询、一些细粒度的数据分析。  对广告数据有两条路径进行处理:一条是实时的数据流,通过Druid处理,主要是针对内部的实时数据分析需求;另一条是通过Mini-batch方式

7、。  数据的DataSource(数据源)包括:·小米广告交易平台(XiaomiAdExchange,MAX):广告流量的调度管理平台。·广告平台的计费分析模块:广告主的计费、各种维度数据。·广告媒体分析数据:各个广告媒体的请求、展现等数据。比如对于广告计费分析模块,Druid会包括实时的广告主计费信息,这些数据用于内部的数据分析,不用于广告主投放平台。广告主投放平台使用Mini-batch方式,通过可重放的方式更新和聚合数据结果。  在使用Druid的过程中也会碰到一些问题。1.关于查询界面  Druid的查询语言还不是特别友好,在第一阶段部署Druid后,我们

8、开发了一套

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

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

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