美图拥有十亿级用户,每天有数千万用户在使用美图的各个产品,从而积累了大量的用户数据。随着App的不断迭代与用户的快速膨胀,产品、运营、市场等越来越依赖于数据来优化产品功能、跟踪运营效果,分析用户行为等,随之而来的有越来越多的数据统计、分析等需求,那么如何应对和满足不断膨胀的数据统计与分析需求?业务的不断发展又怎么推进架构实现的改造?本文将介绍大数据业务与技术的碰撞产物之一:美图大数据统计分析平台的架构演进,希望通过这次分享能给大家带来一些解决数据业务与架构方面的思考。
美图其实有非常多的App,每个 App 基本上都会有相应的产品运营、销售以及数据分析的同学,这些同学会提各式各样数据统计的需求,比如数据报表或者数据分析的需求。这么多的分析或者说数据统计的需求,在美图是怎么解决的呢?今天主要想介绍下在美图的解决方案,希望大家在平时工作中有遇到类似的问题的话能有一些共鸣之处 。
做了上面的抽象以后还是有不少的痛点,一个是业务的依赖,指的是我们做一个统计需求最花时间成本的是去了解数据业务方的需求背景,了解他们的产品长什么样子或者他们的运营是做了什么活动,业务沟通背景的成本非常高。第二是即使做了抽象还是会有一些相应的重复代码的编码量,还需要做一个统计的组件选择相应的query,相应的业务逻辑的处理以及存储层的DBstore。第三主要是运维成本高,当时上线一个任务需要做一个包到线上,还需要改一些shell等脚本。第四是涉及到个人成长方面,当一个人长时间在做这样事情的话,对个人的技术成长其实是有比较大的瓶颈。
另外两块是接下来一段时间规划要做的事情,第一是数据分析人员经常抱怨说这个数据能不能有更快的查询方式,所以是考虑搭建一个OLAP服务,比如基于kylin等来构建。第二个是实时统计方面,刚刚前面讲的要么是定时的常规的统计需求,要么就是临时的统计需求,没有实时。所以这一块考虑说后面这个平台也能对接实时的统计需求,能更快速地对接满足实时统计需求场景。