信息化 频道

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

  【IT168 信息化】

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

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

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

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

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

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

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

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

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

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

  如果从技术的角度来看,它是没有多大的原因BI的发展是正常的。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的架构用一个节点就可以解决。构建架构首先要根据企业应用到了什么程度、数据的来源、复杂程度等要综合这些因素,要把虚拟化摸清楚、应用有哪些、确立目标,在来寻找我们合适的架构。

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

  解决现有的数据差错问题

  记者:数据是BI的核心,企业做BI的同时总会因为数据的质量问题而导致BI的结果有问题,对于此,您是如何来看待的?对于数据的质量问题,有没有办法来调整?

  蒋杰:数据质量问题每个行业都会有,我们也曾经遇到过遇到很多次。比如很多事情预是预想到了但当时的场景没有发生,而往往是没有预想的场景发生了,这样的情况可能很痛苦。

  那么首先第一步应该怎么要去有一个系统监控?

  根据自身对于数据的敏感性去发现这个问题, 当发现这个问题以后,那我们就可以找到解决的方案。我们一般解决的方式有两种:

  第一、 就是把当前发现的问题“绕”过去;

  第二、新建一个系统,事后做一个迁移。

  它所发生的成本是不一样的,那根据业务的需求,比如作为一个继承人员,觉得系统应该变迁,但是业务人员、业务支撑不能停下业务,那么就应该根据业务的时间去调整整个技术演进的线路和部署,这是关键。

  往往现在的路线——技术路线和成本路线应该得到是很匹配的。技术路线,我们采用的是PC内置的架构,完全用PC来解决我们存储数据、计算的问题。我们做过这样一个比较一个PC,与几个高端的小机去做一个对比,其实性能也不定比高端差,但相应的成本是几倍的下降。在谈到这个问题的时候我们应该去考虑企业的技术路线、成本路线,不能一味的追逐高端的小机,高端的存储来解决我们所有的IT问题。

  记者:信息系统产生了大量的数据,但确不知这些数据如何去用?在您看来,我们应该怎么来进行数据处理?

  蒋杰:所有企业在数据方面临两个问题:第一、快速的问题;第二数据质量的问题,数据的正确性如数据的真实性。

  我们在做数据质量的时候,在数据的源头从源系统把数据抽出来在数据出发处做了一些数据校验, 把一些不规划的数据,在这一层做了一个处理,当进入数据仓库以后,基本上我们按照更多让业务开发人员去了解,建好模型应该把业务切得越清楚越好。

  当切分以后,在产生的各种报表或者分析的数据,也是非常关键的。对于我们报表的结果, 应该和前期的数据质量系统作一个比对,来做事后监控一样的过程。这样让面对客户的数据,至少是检验过一次的,这个过程当中并不能保证完全正确,但这个是有一定的。

  记者:那么,这个数据质量系统是应该什么时候开始建?

  蒋杰:数据质量系统其实有几个方面,比如源数据,数据仓库等, 这个数据应该根据企业业务的应用把它建在源数据基础上,如果没有源数据,建数据质量系统是没有基础的。

  记者:针对于数据方面问题,除了用传统的技术手段以外,在您看来有没有更好的办法来规避这种出现数据质量的问题?对于我们IT人员有什么更好的建议?

  蒋杰:我们现在是这样的,数据仓库的开发人员都是用了我们自己定的开发的规则。开发的标准而把一些复杂的东西基本上把它封闭, 这样从代码的角度来看,应该能规避一些错误,这是一个方面;第二、完成开发以后会有相应的测试及测试过程;

  第三,预上线。前端的报表开发在做完这个报表后,数据同样还有一个交接,这样尽可能的把错误降到最低。

  记者:如果从技术的角度来看,在您看来目前BI或者数据仓库方面还存在哪些瓶颈?

  蒋杰:我们现在做数据仓库中的时候,首先,在数据库方面,这些数据库都是为了解决一个问题——I/O问题。我们经历过这样一个问题,CPU、内存未必那么忙,但是磁盘这方面瓶颈。

  我们做ELT数据仓库时,每天所思索的是真正解决I/O磁盘问题,怎么把I/O磁盘问题解决掉?原来我们在存储这一层解决,现在把它分散出去,用分布式数据库把它分散在每一台机器来解决。在I/O过程中同时会引发一个问题——网络的问题。因为I/O分散了但同时它的网络上升了。所以,如果I/O问题解决掉,网络问题就是第二位。
 

0
相关文章