开源化与自主开发 颠覆传统BI部署模式

  支付宝现有的是数据量是280TB到年底将会达到450TB,每年至少三到五倍的数据增长,这些数据如何来处理?成千上万的数据如果没有一个可靠、稳定、高效的系统架构和平台,那么后果可想而之。

  支付宝(中国)网络技术有限公司是国内领先的独立第三方支付平台,由阿里巴巴集团创办。支付宝致力于为中国电子商务提供“简单、安全、快速”的在线支付解决方案。

  支付宝公司从2004年建立开始,始终以“信任”作为产品和服务的核心。不仅从产品上确保用户在线支付的安全,同时让用户通过支付宝在网络间建立起相互的信任,为建立纯净的互联网环境迈出了非常有意义的一步。

  资料显示,支付宝在五年不到的时间内,用户覆盖了整个C2C、B2C及B2B领域。截止到2010年3月14日,支付宝注册用户突破3亿,截止到2009年12月,支付宝日交易额超过12亿,日交易笔数达到500万笔……

  这些诱人数字的背后,离不开系统的支持。面对每天旁大的数据,如何进行有效的管理,如何搭建数据的架构,这些数据又是如何转换成价值的?

  记者日前在2010系统架构师大会(http://sacc.it168.com)上,现场采访了支付宝(中国)网络技术有限公司技术部BI首席架构师 蒋杰,就数据处理以及BI架构的部署分享了他的精彩观点。


支付宝BI首席架构师 蒋杰 (左)访谈

  记者:商业智能(BI)在2010年企业特别关注,但从应用的角度来看,效果并不是很好。在您看来,BI应用效果不是很理想的原因是什么?作为支付宝的BI架构师,请您首先为我们什么简单的介绍一下支付宝的BI应用架构体系。

  蒋杰:支付宝的BI架构是比较从原始一个存储加小机的模式到技术引进的PC架构+存储的阶段,我们采用了120台实现整个数据仓库的架构,来支撑我们这些分布式的数据处理和报表、日程处理,基本上这样实现的。

  如果从技术的角度来看,它是没有多大的原因BI的发展是正常的。BI的应用效果不好很多问题在于我们没有对于系统的规划还有对于业务的了解非常透,造成了现在作BI越做赵没有信心,产生了不了太多的价值。但是随着更多的企业的数据产品出现和带来的价值, 而造成BI的这种信心和系统投资越来越往前走,这是一个趋势。


支付宝BI首席架构师

  开源和自主开发 解决BI难题

  问:谈到BI的发展趋势,现在阶段国内外关于BI的服务商都进行大规模的收购整合,从您的角度来看,这些收购或者是整合对于用户来讲有什么影响或者收益?

  蒋杰:我个人的建议来分析,从IBM收购Cognos,Sap收购Sysbase等等,这是一种非常大的现象,BI的工具大部分被大的厂商而垄断,对于我们用户而言,现在处于互联网行业, 这些厂商的收购没有给我们带来太多的影响,因为我们现在都是基于一种开源化的产品,来做得数据仓库。现在除了数据库以及前端展现工具以外,其余都是采用自主开发的系统实现的,而没有用ETL等专业的工具去做,我们完全不是按厂商来推ETL理念。

  记者:在开源和自主开发方面,您能不能给我们详解一下?目前来看好多的用开源软件会有许多的问题,比如它的安全性以及服务方面怎么来保证?第二、自主开发有哪些优势?

  蒋杰:第一、开源方面。 其实,我们在BI以前,用过一些其它产品,当我们遇到问题的时候比如里面具体的问题在哪里、我们要增加新的功能等。如果提这样一个需求,部分服务商首先需要把问题发给美国,然后在到中国,这样就完全不能快速解决我们的问题,可能对于我们的企业特殊的应用来讲不太合适。而我们用最简单的工具就可以把企业的应用问题解决,这就是我们最合适的问题办法,所以,我们会选择简单、高速、可扩展性比较好的的架构体系来去适应整个数据仓库过程。

  第二、所谓的自主开发,我们也开发了关于许多关于BI自主开发的系统。比如数据的分发中心来解决数据的分发,装载等。我们自己定义一套SQL标准,以自己的SQL标准把一些不同数据库之间的异构的情况,还有语法不一样, 并且把一些复杂的实现封装,实现我们快速开发的标准,这也是自主开发的一面。这些都证明了自主开发比较适合有一定规模的,数据量超过50TB的行业,无论是互联网,还是传统行业自主开发BI都是有一定优势的。

  记者:开源和自主开发是BI的关键,那么在您看来,要想做好BI从架构的角度来看,我们应该如何搭建好架构呢?

  蒋杰:目前支付宝的数据仓库每年是280TB,每年至少三到五倍的数据增长,预计今年年底会超过450TB。当我们构建一个系统的时候,不应该只看怎么去构建?构建系统的架构方法是统一的,但是去实施的标准不一样。比如当构建2TB的数据仓库的架构,和去20TB的数据仓库的架构2000TB的架构,它所要用到的技术是完全不一样的。2TB的架构用一个节点就可以解决。构建架构首先要根据企业应用到了什么程度、数据的来源、复杂程度等要综合这些因素,要把虚拟化摸清楚、应用有哪些、确立目标,在来寻找我们合适的架构。

  当前,可能会去自己开发一些系统比如调度系统,支撑我们数据仓库的运行。 建好架构以后,怎么来维护好快速的增长数据,这是比较关注的。作为一个架构师应该提前一年或者两年,预计企业的数据变化、增长的速度,来做好一些前期系统的更新,扩容。同时,前期需要进行大量的调研,做完这些调研以后进行论证,这些系统到底支撑多少时间、多少业务,这是需要我们进一步考虑的。

作者: 支付宝 蒋杰   发布时间: 2010-09-03