小米新一代大数据统计平台大公开

首次来到台北的小米研发架构师欧阳辰,看见城市中川流不息的摩托车车流,引起了他的注意:「它的特色很像大数据」,除了数量多、变化快,以及难以预测动向,摩托车也和大数据一般,都是解决人类生活在社会中的一项工具,「未来大数据会是重要的社会基础架构,就像水、电力一样。」

谈起大数据,不免回归最基本的问题:它跟传统数据分析的区隔为何。

欧阳辰表示:「在目标上,我认为两者没有区隔」,欧阳辰表示,传统统计分析解决的问题如人口统计议题,只需要经过随机抽样方法就能解决。但是碰上投放商业广告,若仍靠传统抽样分析结果,作为播放广告的判断标准,容易产生不佳的使用者体验,也因此,企业对于大数据的需求油然而生,通盘分析、统计手中握有的原始资料,「这才是大数据所要解决的问题。」

欧阳辰也揭露了小米大数据技术框架,其中开源解决方桉占了相当比例。在最底层的资料收集系统,小米导入开源专桉Scribe,可以用于整合即时的Log资料,并且根据系统使用量,进行水平扩充。

而资料储存系统中,主要由Hadoop分散式档桉系统HDFS,以及开源的非关联式资料库HBase所组成,两者分别有各自的优点。欧阳辰表示,HDFS比较适合用于批次储存,而Hbase则较擅长随机存取。在2015年时,小米也引入了由Cloudera释出的开源专桉Kudu,其特性则介于两者之间。在资料分析层中,则是导入了MapReduce、Spark、Storm等开源专桉。

靠大数据统计平台支援其他业务

目前小米除了手机、电视等硬体产品,也跨足了广告行销、线上金融服务等领域,而且每日活跃人数破千万的App就有超过20款,包含小米浏览器、小米音乐等应用程式。

欧阳辰表示,为了协助事业体内其他部门的营运,这些App的背后,都是透过小米自家开发的大数据即时分析平台小米统计,来提供DAU、视觉化分析等图表。藉由每款App的使用族群的分析结果,「区隔用户的喜好,帮助使用者找到更适合的App。」

採双资料流Lambda架构

而小米统计1.0版本的架构,则是採用双资料流Lambda架构,溷合使用Kafka、Storm、HDFS以及Spark等元件,分流进行即时资料分析,以及批次资料处理。欧阳辰表示,此平台所应付的资料规模高达数十TB,每秒要处理20万个请求,目前已经累积了数百亿个系统事件。

在使用者透过终端装置发送需求后,首先透过Linux虚拟伺服器(Linux Virtual Server,LVS)以及网站伺服器Nginx,作为负载平衡器。

其中,所有资讯都是经由已经加密的Htttps协定传输,欧阳辰表示,为了减缓CPU使用资源、减少运算丛集数目,小米也会一同搭配SSL加速器,增加档桉传输的效率。

在资料通过Nginx之后,接着,则交由小米统计的前端伺服器,分别将资料进行分流:即时分析及批次储存。

在资料即时分析的路径中,「得将所有系统事件进行串流处理。」通过前端伺服器后,资料流则引入Kafka中,接续透过Storm分析处理,产出每日活跃使用人数等资讯。欧阳辰表示,除了即时分析,此路径也会产生部分资料,交给Spark及MapReduce,进行批次储存程序处理。

而Lambda架构的第二条分支,则是负责批次处理程序,在此分支中,前端伺服器首先将系统Log纪录传送至Scribe,后续Scribe则将资料写入至HDFS中。经过4小时,系统将驱动预先设置的MapReduce、Spark脚本,进一步进行批次处理,并且将统计结果写入至HBase及NoSQL。

小米大数据技术框架中开源解决方桉占了相当比例。在最底层的资料收集系统,小米导入开源专桉Scribe,可以用于整合即时的Log资料。资料储存系统中,主要由Hadoop分散式档桉系统HDFS,以及开源非关联式资料库HBase所组成。图片来源/小米

小米统计1.0的资料处理能力仍不够

在使用小米统计1.0平台后,欧阳辰也发现了许多不足之处。首先在Lambda架构资料分流的设计下,由于资料量大,「很多即时分析系统产出的结果,应该要传给批次处理系统使用,减少计算量」,只要能提升百分之一或二的效能,都值得投资。

靠Spark及MapReduce双引擎处理不同批次任务

再者,批次处理系统中,目前小米引入Spark及MapReduce作为核心元件。他表示,虽然普遍认为Spark的运作必然较顺畅,但当资料成长至一定规模,除了相当耗费记忆体外,即使建立许多Spark丛集,也很容易将储存空间占满,「根本无法运作Spark。」后来欧阳辰也发现较有效的运作模式:使用者可将简单的任务交给MapReduce,複杂任务则由Spark进行运算,「两者各有自己的特色。」

第三则是让系统能支援即时串流运算,他表示,过去业界仅需要按天为单位,产生统计结果。但是即时运算需求,在过去几年中成长飞快,「使用者对于它有无止尽的需求」,想要随时都能查询结果。

最后则是档桉格式拥有许多不同标准,像是某些使用者想使用SQL指令查询资料,「但资料不是储存在MySQL架构中,对我们产生许多挑战。」

推小米统计2.0,加强即时分析功能

因应这些挑战,欧阳辰也重新设计了系统架构,推出了小米统计2.0平台,新架构仍然採取Lambda的分流架构,但是分别加入了2个新个开源元件:即时资料分析系统Druid以及SQL资料库Crate.io。

欧阳辰表示,Druid的运作逻辑与Storm不大一致。像是小米统计平台中,提供使用者不同条件选项,如自订时间区间、应用程式版本等条件,「进行以秒为单位的即时查询。」

此功能利用Storm实作时,每当开发者新增一个筛选条件,就必须更改程式码。而透过Druid,只需要撰写组态设定档,让Kafka根据开发者需求分类资料。「Druid是为分析而生的软体,程式码数量很少」,他表示,在使用者定义资料筛选条件后,Druid就会自动地分类资料。而它也有处理TB级资料的能力,「只需用几台伺服器就可以搞定,效率非常高。」欧阳辰说。

再者是Crate.io,他表示,此元件水平扩充能力的效能不错,也可以架设多个储存节点。虽然Crate.io将新资料加入资料表的性能并不突出,但可用于储存使用频率不高的资料。反而Crate.io提供SQL查询功能为一个亮点,「查询功能必须要提供使用足够的灵活度。」

欧阳辰也总结设计小米统计的心得。他表示,数据分析处理是个无底洞,「需求是源源不尽的。」企业对于即时性、灵活性的需求越来越多,「系统要设计成支援串流分析的架构,每天产生报表的时代已经过去。」

此外,与其提供使用者僵固、不易更改的查询介面,不如让使用者根据需求,自行打造资料查询工具。

via:北京网站建设

时间: 2024-08-04 03:45:07

小米新一代大数据统计平台大公开的相关文章

互联工厂大数据云平台打造中国版CPS

摘要:10月13日2016杭州云栖大会拉开帷幕,智能工业专场的上海名匠智能系统有限公司董事长陈俊带来了"工业大数据与云制造"的重要演讲.本文从智能制造带来的机遇和挑战开始谈起,进而对互联工厂进行定位,并讲解了互联工厂的特点,接着重点说明了工业大数据下的互联工厂模型及应用场景,最后简要介绍了立体仓库货位优化控制系统.   以下内容根据演讲PPT及现场分享整理: 本文从智能制造带来的机遇和挑战开始谈起,进而对互联工厂进行定位,并讲解了互联工厂的特点,接着重点说明了工业大数据下的互联工厂模型

大数据时代:信息公开与公众参与

编者按 2016年全国环境互联网会议9月8日在福建省厦门市召开,会议主题为"大数据时代:信息公开与公众参与".本版今日摘登部分演讲内容,以飨读者. 高度重视并善加利用新媒体 全国政协会议新闻发言人. 中国传媒大学媒介与公共事务研究院名誉院长 王国庆 党的十八大以来,在中央强调建设生态文明的大背景下,我们讨论这个主题非常重要,尤其是环保领域,信息公开和公众参与越来越重要.我想围绕这个话题谈几点想法. 信息公开既是公众了解环保工作的重要途径,也是环保部门的职责和义务.当今社会舆论环境.媒体

阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171122)

  概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速.完全托管的TB/PB级数据仓库解决方案.MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全.本文收录了大量的MaxCompute产品介绍.技术介绍,帮助您快速了解MaxCompute/ODPS. MaxCompute 2.0:阿里巴巴的大数

【ATF】林伟:大数据计算平台的研究与实践

  2016 ATF阿里技术论坛于4月15日在清华大学举办,主旨是阐述阿里对世界创新做出的贡献.阿里巴巴集团技术委员会主席王坚,阿里巴巴集团首席技术官(CTO)张建锋(花名:行癫),阿里巴巴集团首席风险官(CRO)刘振飞(花名:振飞),蚂蚁金服首席技术官(CTO)程立(花名:鲁肃)以及来自阿里巴巴集团各部门多位技术大咖齐聚一堂,与莘莘学子分享阿里的技术梦想.   在下午的云计算与大数据论坛上,阿里云资深专家林伟(花名:伟林)带来了以<大数据计算平台的研究与实践>为主题的深度分享.林伟目前负责阿

滴滴出行高级产品总监:大数据让平台更高效

近期,滴滴出行战略副总裁朱景士透露,滴滴出行的新一轮融资即将完成,在投资市场环境平淡的情况下,仍然获得了国内外众多投资机构及新老股东的支持,公司最新估值远超此前各种渠道的传言. "滴滴现在比任何时候都更接近盈利,目前四百个城市中已有近三百个盈利".朱景士透露.在融资的同时,滴滴出行打入Uber美国老家进行布局的大胆却又水到渠成的行为,不少业内人士表示看好. 随着出行市场的逐步扩大,无论是从技术.还是营销,整个行业都有了质的飞跃.滴滴出行高级产品总监罗文在接受<中国经营报>记

高可用的大数据计算平台如何持续发布和演进

2016年11月18-20日SDCC 2016中国软件开发者大会,阿里巴巴大数据计算平台首席架构师林伟给我们带来了"高可用的大数据计算平台如何持续发布和演进"的演讲.本文主要谈及大数据系统如何做系统迭代,以及大规模系统因为其大规模没有可能搭建对等的测试环境,需要进行在线测试方面的内容,更有在线测试需要的必要条件等等. 阿里巴巴大数据计算平台需要每天不间断的跑在上万台机器集群上,上面承担阿里核心分析计算任务,有着很高的可靠性和SLA的要求,但是我们同时需要持续不断提高系统的性能,降低成本

重庆移动推出三类大数据应用平台,助力智慧城市建设

1.人流动态 实时掌控 近年来,由于人流聚集拥堵造成的安全事故时有发生,应对仓促.布控失策.信息传递不及时是造成此类事故的主要原因.随着"大数据时代"的到来,大数据的应用越来越广泛.中国移动基于超过8亿的用户优势和离线分析.快速查询等技术优势,率先在互联网领域打造出服务于政府.旅游等多个行业的大数据应用平台,为政府管理决策.安全布控等提供了有效支撑,大大降低了各类安全事故发生频率.这一举措进一步加快了我市智慧城市建设,为我市实现城市智慧化管理和运营,促进城市和谐.可持续发展,进而为群众

医疗健康大数据服务平台技术架构

医疗健康大数据服务平台是一个包含多个业务系统.多个自身管理软件.是一系列软.硬件和人员.政策支持的综合系统体系,统一建设医疗健康云计算服务中心,集中存储居民医疗卫生信息和居民电子健康档案等数据,满足社会大众.医务工作者.各级卫生主管部门.第三方机构的应用需求. 医疗健康大数据服务平台总体架构如下图所示. 图 医疗健康大数据服务平台总体架构 如上图所示,医疗健康大数据服务平台分为资源层.服务层和展现层.其中层功能如下: 1.展现层 负责对用户提供医疗健康信息.以及分析与挖掘信息服务,支持4大类用户

【先锋】思明软件大数据技术平台打造历程和Impala实战分享

在采访思明数据刘诚忠的过程中,他表示当下大数据领域企业级市场靠技术垄断获取高额利润的玩法已经过时了,技术的成本会不断降低,这是大势所趋,这个市场的巨头会出现在技术很好,但服务更好的公司里.而站在用户的角度,用户们首先关心的是如何让数据发挥价值,然后才是这套解决方案依赖何种技术,是否能快速应用,是否能适应后面可能的扩展,相对技术来说第一点是更难的. 事实上今天的企业客户,特别在大数据技术领域,更需要的是长期的合作伙伴.他们不只需要购买技术密集的产品,还需要和大数据的技术专家一起研究如何让数据发挥出