在刚刚结束的 2016年中国云计算技术大会 之云计算核心技术与架构论坛上,来自魅族Flyme大数据平台经理莫涵宇基于《魅族大数据平台架构实践》分享了魅族在人员变化、数据规模、业务支持等的DT转型和大数据历程。在演讲过程中,他提到由于魅族大数据总数据量超过2PB,数据各业务近500台主机,每日运行4000个调度任务,任务繁重下其他们团队进行了DW2.0的建设实践,构建适合解决业务痛点的数据产品,并进行了大数据上云的尝试。他还为大家展示了魅族大数据的架构图,并详细的讲解了每个层在架构中所起的作用。( PPT下载 )
在大数据浪潮中,魅族虽然起步比较晚,但是发展极为迅速。魅族如今的用户已从百万级快速增长到了千万级别,面对如此业务量暴增的情况,魅族是如何通过大数据技术,来保证业务的稳定性的?在大会结束后,我们CSDN小编又特意专访了莫涵宇老师,请他具体谈谈魅族在构建大数据平台过程中背后所经历的故事,让大家更加深入了解魅族在大数据中的众多的探索。
莫涵宇,作为国内较早的数据仓库践行者之一,从电信业进入数据领域,最终跟随大数据的潮流走入互联网,十多年来参与了多个数据平台建设工作,开发过电信业系统和政府的数据系统,也建设过阿里B2B,YY等互联网业的数据仓库,始终相信数据能改变世界,希望能在魅族继续发掘数据的更大价值。
以下为专访内容:
CSDN:首先请介绍一下自己,及现在负责的事情。
莫涵宇:我十多年前就开始做数据仓库领域的工作,先后在集成商,阿里,YY等不同领域的企业工作,对数据仓库和大数据领域都有较为丰富的经验,目前是魅族科技flyme数据平台的负责人,主要负责魅族大数据平台建设和大数据相关业务。今天,大数据渗入社会生活的方方面面,李总理都常提大数据,我也希望能在这么好的环境下与现在的团队依托公司的平台打造更好的数据生态,为公司发展和我们的用户提供更大的价值。
CSDN:能否介绍下目前您所带领的魅族数据平台部技术团队的规模和结构是怎样的?
莫涵宇:魅族数据平台部目前有近50人,包含了ETL/模型、算法、平台、数据产品、数据分析、前端、平台运维等角色。我们团队比较扁平,各成员按照角色划分,工作中会按照项目组成具体的团队,除了各种项目也包含大量的日常数据分析相关工作。
CSDN:我们知道在大数据浪潮中,魅族虽然起步比较晚,但是发展很迅速,能简单介绍下魅族是在什么样的背景下构建大数据平台的?
莫涵宇:魅族科技虽然成立于2003年,但过去一直是一家传统制造业企业,转型前企业内对数据运营的认识较浅,对数据的需求也非常有限。直到2014年公司才开始逐步向移动互联网企业转型,为了适应互联网企业竞争态势,大数据业务也随着转型的步伐开始起步,从13年底开始摸索,到14年初正式开始建设。数据平台经历了前期人员不足需求众多,到今天数据体系初步健全的阶段。这时,我们的工作逐渐体现出了价值,公司也越来越认识到了大数据的重要性。
CSDN:能介绍下魅族目前的数据规模情况吗?
莫涵宇:魅族大数据平台目前有500台物理机,其中Hadoop集群超过300台,存储裸设备6PB+,数据量大约在2.5PB+,目前支持公司里60个以上的业务,支撑数千万日活用户的行为数据分析,随着销量和新业务的增长,数据量的增长仍然保持非常高的速度。
CSDN:可否详细介绍下目前魅族大数据整体架构的设计思路是什么?
莫涵宇:从企业本身出发,大数据存在的价值必然是提升企业的收益,我们需要考虑到如何做好数据对业务运营的支撑,数据对产品体验的支撑,数据对领导决策的支撑和数据对生态发展的支撑四个方面。具体来说,我们希望明确数据是基础,应用是核心,生态是目的的宗旨;要发掘能为用户带来直接价值的数据产品,为用户提供更丰富的服务;利用数据服务和数据产品,结合业务理解,提供产品数据化运营解决方案;为公司的战略规划及数据化运营做好数据服务。
CSDN:然而,在你们开发中又遇到了哪些技术难点,每个阶段又是如何克服的呢?采用了哪些技术手段来支撑整个平台的?
莫涵宇:魅族大数据平台的建设遇到了非常多的问题,简单举几个踩坑的例子吧。比如Hadoop集群从个位数到百位数的发展过程中,由于早期经验不足对机房资源估算的偏差,运维同学在机房搬迁时候遇到了元数据同步,主机批量rename,动态扩容方面的问题,那个阶段几乎都是人肉加班和请教有经验的同行,比如一些过去的同事,后来去了一些大企业的,通过这些方式去解决这些问题。
再比如随着销量和业务的增长带来数据量剧增,数据又是从全国各地上报,我们原有的数据采集服务一度出现性能瓶颈,那时候比较果断的采取了重构的策略,采用新的分布式采集架构替换了运行较久的旧方案,同时建立了多机房多线路的部署结构,减低运营商和地域造成的一些影响。
魅族数据平台建设以来,计算平台主要采用的都是开源技术解决方案,Hadoop,Hive, HBase,Spark,Storm,ELK,Kylin等;此外还会使用Ganglia做监控底层,使用 MetaQ ,Flume等作为采集和传输工具。基于这些计算平台之上,我们主要使用Java和部分C++封装了所有数据产品和服务。在数据仓库建模方面,主要采用传统数据仓库的主题建模和维度建模方法并遵循一定的范式;同时对于一些分析场景和算法部分的准备采用低范式的宽表建模方式。
CSDN:以上是魅族大数据平台的架构,能不能和我们分享一些具体产品呢?
莫涵宇:我们建设的数据平台有很多具体的应用产品,包括集成开发平台,监控系统,流计算平台,统计分析平台,自助分析平台,舆情分析系统等。
这里简单介绍一下集成开发平台吧。在日常的数据开发过程和数据使用过程中,我们发现流程比较繁琐,很多开发的同学需要写脚本、上传、配置调度、配置监控等多项工作;此外基于数据安全考虑,一些做简单开发的同学无法直接登录我们的开发环境,导致开发效率比较低,使得大家工作量都很大,甚至导致大家都把9成的精力投入到临时需求开发上。后来,我们通过充分的调研,我们决定建设集成开发平台这个产品,用于支撑数据开发的日常需要。
这个平台主要包含IDE模块、调度系统、元数据系统、统计分析模块。
IDE提供了Hhive、Spark、MySQL、Python,语法的支持,通过代码区输入代码,可以实时的执行获得返回结果集,没有结果集的将展现日志。IDE用于日常查询或者任务开发,每次代码都可以存储下来,并可以配置成调度任务。我们未来还计划增加R,Scala语法的支持。
然后说说调度,它提供了我们所有任务调度的支持,我们对目前面临数据领域的各种任务链,各种依赖,资源调配都进行了梳理,按照我们已知和想到的功能去开发,调度系统属于集成开发平台的一个组件,可以和刚刚说的IDE无缝整合使用。
元数据系统目前还在持续完善中,当然它也是一个提供服务的平台,我们规划的元数据系统中,除了专用的元数据查询和分析界面,还有对外的调用接口,例如可以对IDE提供服务,让用户在做类SQL编码过程中直接可以在左侧查询到库,表和字段的信息,简化开发难度。
这里的统计分析模块其实主要是对任务和个人操作行为的一些分析,我们可以通过这个功能优化整体资源,发现瓶颈,指引个人开发工作。此外的配置这些功能这里就不赘述了,基本都差不多。对这个平台的规划,我们未来还希望和流计算平台整合,让我们的数据开发工作都能更加简单高效。
CSDN:对于你们来说,目前面对的最大挑战又是什么?
莫涵宇:挑战有很多方面,我觉得我们现在还处在数据平台发展的偏初级阶段,当然当务之急最大的挑战还是时间和资源的平衡,我们希望能快速的跟上业界先进的水准,这需要我们吸引优秀的人才同时自己更加努力的去追赶了。
我们的定位始以支持公司内部的业务为基础,希望能逐步把我们的大数据能力开放给社会,让更多人分享我们提供的大数据服务,例如建立一些开放数据平台,一些深度基于数据分析的服务,做到什么程度,怎样做,这些都是未来要应对的巨大挑战。
CSDN:你们在大数据上云的实践中,还做了哪些新的尝试呢?
莫涵宇:大数据上云在业界也有不少优秀的案例,我们除了学习业界一些先进经验外,还尝试了一些论证较少的领域。例如技术层面,在容器云环境中尝试LBAAS,体系规划上,尝试DaaS,利用统一的DSL将常见的大数据分析服务场景在云环境中进行服务化,打造包含MOLAP、交互式查询、实时计算的大数据分析服务体系。另外我们也计划在完成基本的数据服务体系后,将数据在不同场景下的访问方式也做成云中服务,比如结合语义识别,用户直接说一句我要什么数据,就能拿到结果,或者图像场景的识别,用户只要把一个报表的模板框架发过来,就可以生成一个填好数据的真实报表页面,云是基础,支持我们更高效的完成数据支撑能力向业务中的深入。
CSDN:最后,您在担任魅族数据平台部经理期间,给您留下最深刻的人或事有哪些呢?
莫涵宇:其实个人来说目前我很满意现在的环境,这个团队很年轻,我属于拖了大家后腿的大龄青年,当然一方面是成员年轻,另一方面团队真正组建的时间都较短,超过一半的人入职不到半年,大家工作的热情和对未来的期待给我留下很深的印象,具体说某个人,我觉得不需要特别去说,因为很多人都非常优秀,大家都在往同一个目标努力,我也希望继续enjoy这种快速前进的感觉。
编辑:孙思,关注数据库,欢迎加入CSDN 数据库讨论QQ群:123038767。寻求报道或投稿,请联系 sunsi@csdn.net