【大数据专家系列】云途首席架构师左小龙

云途君2017-01-06 10:14:34

互联网时代,人人都在谈大数据:谈数据应用,谈数据分析,谈数据价值……人人也都处于大数据之中:手机游戏,网络购物,生活缴费……越来越多的行业和领域开始重视挖掘数据的价值,以对数据的分析解构,精准匹配用户和营销,让企业决策少走甚至不走弯路。


one_20140310122519714


大数据,代表的是海量、高速、多变、割裂,对它的处理则要求快速、系统、灵活、智能。当大多数普通消费者还对所谓大数据无意识的时候,大数据已经可以做到秒速反应、精准定位我们每一个人的行为举止、爱好侧重了。


图片2


左小龙,80后90前,云途数据首席架构工程师。作为一位将要步入而立的IT男青年,他的人生履历极为单一:清华大学计算机专业毕业后,曾供职于四维图新、百度、乐享天下等互联网公司,从软件工程师到研发工程师到数据仓库工程师,一路与数据为伍,对数据行业的新技术、难题攻克等乐此不疲。


图片3


2014年7月,左小龙进入北京乐享天下科技有限公司(灵思云途注资后简称“云途数据”),开始其对云途数据本身及合作项目的数据仓库设计历程,期间,根据公司需求和业务发展需要,其对数据仓库的设计也经历了数次更新迭代。


图片4

 

2014年年底,乐享天下公司决定做一款通过收集用户行为日志进行用户分析的系统,相应的数据仓库建模工作就交给了左小龙。左小龙基于自己以往的DW/BI的经验,选择了按照领域知名的数据仓库和商务智能领域的权威专家Ralph Kimball所提出的自底向上的维度建模方法论来进行维度建模。


这个过程中,他通过了解公司要做的项目需要哪些事实和哪些维度,经过一段时间跟产品和决策层的沟通,最终确定了以会话和事件为核心的星型模型——所有维度包括用户、设备等等都围绕会话展开,一个会话又会有N个事件,事件又有N个事件属性组成,结合当时的数据仓库选型infobright,它是一款开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算。


不过这其中也是存在很多问题,比如,社区版不支持update和delete这两个很常见的DML语法,商业版费用又过高,但考虑到在做统计分析方面的优势和开源的性价比,还是比较适合公司当时的场景。另外,单表记录数过大肯定会导致性能问题,infobright又不支持分区。


最终,各种权衡之后,左小龙和团队选择把每个事件属性拆成最细的粒度作为单表,然后在前端库维护一个对照关系,这样就形成了以会话表、事件表、事件属性表为事实的星型模型。这样的设计既避免了单个表记录数暴涨,也基本满足了公司当时的需求。


图片5


2015年10月,云途数据启动了一个DMP项目,项目的预期数据量在1亿级别,如果还沿用之前的模型,问题就出现了:比如当数据是千万级别的时候,因为社区版的infobright社区版不支持DML导致每次同步都要大规模数据导入导出,而且还不支持集群,性能很差,虽然查询性能还能勉强满足需求,但查询在千万级就延迟达到10秒以上——这在当时的项目定位中,是不能容忍的。


没有合适的开源解决方案,收费方案又不适合公司对当时项目的定位,项目陷入了两难。善于钻研的左小龙及其团队,适时发现并引入了Greenplum数据仓库。


图片6


Greenplum于2008年12月进入中国市场,2010年1月1日正式宣布在中国独立运营,2015年10月走向开源。Greenplum可以对于从TB量级到PB量级的数据进行分组、存储和分析——对于大量的数据运行复杂的分析,通常用传统的解决办法需要几天的运算, 用Greenplum只需几秒钟就可以完成。此外,Greenplum数据引擎可以很容易依照需求,增加存储容量和处理能力,避免代价高昂的设备升级。


在左小龙的推荐下,云途数据的DMP项目采用该技术部署了自己的集群。并且后续公司的数据交易电商平台“云途数据市场”、可视化工具“云途可视化”等产品的数据仓库开发和实施,均沿用了该架构。


由此,一个好的架构师,应该是善于根据需求和市场变化提供适配的解决方案的!

 


更多专业问题交流咨询,或者想要@左小龙,请给客服留言。

关注“云途数据”公众号,回复“GreenPlum干货”,下载“开源MPP数据仓库GreenPlum” PPT。


阅读
569
数据定制