因为工作关系,长期跟SAP打交道,所以去年就对HANA有了一些了解,只是公司目前的应用规模还较小,暂时没有上马HANA的打算,但是提前作一些学习还是很有必要的。正好清华大学出版社最近出版了这本《SAP内存计算——HANA》,便花了两周时间读了一下。
作为一项新兴技术,想要对它有更好的了解,除了通过官方资料以外,最重要的莫过于他人的成功经验。农夫山泉作为国内最早实施HANA的少数SAP大客户之一,他们的经验无疑是非常宝贵的。而本书的作者之一胡健先生正是前农夫山泉HANA项目实施团队的负责人,所以本书的内容可谓是经过实践考验的第一手资料。本书的另一位作者和轶东先生是SAP中国区方案与架构设计部总监,这又为本书提供了来自SAP官方的权威保证。
其实对于HANA来说,最大的困难在于如何让人理解什么是HANA?我曾经以为HANA只是SAP在收购Sybase之后,基于Sybase和SAP自己的MaxDB搞的一个新的数据库系统而已,花了很多时间才搞明白它并不只是把数据库放到内存中去处理这么简单,而是基于一个全新的思路创建的存储计算平台。本书第一章对此作了全面深入的解析。
之后的第二至第六章则从HANA的安装到各方面实施都作了相应的详细介绍,可作为有志于从事HANA的BASIS方面顾问工作的人学习实践。
第七章则是HANA在农夫山泉的实践介绍。这部分内容我曾经有幸在一些技术会议上学习过胡健先生的亲自分享,应该说HANA对于农夫山泉这样的企业来说,的确是作用巨大。
作为目前市面上少有的HANA方面的书籍,本书的主要内容还是比较入门级的,相对比较全面,但并不是很深入。期待以后会有更多更深入的书籍面世。
看完本书我也谈点自己对HANA的看法。
从技术上说,HANA通过列存储和压缩技术,结合大内存硬件,实现了大数据量的全内存处理,真正实现了业务的“实时”计算,对于改进企业决策效率,具有极大的作用。
就一般的企业发展流程来看信息化系统的发展,通常是从简单的财务管理软件开发,到ERP,再到数据仓库/商业智能。
这其中ERP更多的是业务日常数据处理,并不适合在其数据基础上作进一步分析和挖掘,原因就在于业务数据变化大,而分析和挖掘处理的数据量大,二者在同样的硬件基础上运行将会因为资源限制而造成相互的性能影响,所以才有了数据仓库这样的单独的数据分析挖掘平台和商业智能这样的展现平台。
虽然在独立的平台上作分析不会影响到业务流转,但是随着数据量的增加仍然会出现新的问题:
一是随着数据量的增加,分析工作量加大,想要挖掘出更深层次的信息,对于硬件的要求实在太高,于是有了所谓的“大数据”解决方案——将数据和分析工作做成分布式,通过堆硬件来实现。
二是随着数据量的增加,业务上要求的分析方式更多,在现有的硬件条件下,应用运行的时间过长,另外单独的数据库仓库平台由于数据抽取的非实时性,最终会影响业务决策的及时性。HANA就是为了解决这个问题而诞生的。
按农夫山泉的经验,单纯地将数据库换成HANA,可以使性能得到几百甚至上千倍的提升,即使在此基础上加上数据仓库和分析系统,也可能有上十倍的性能提升。这对于管理层及时了解企业的运作性况非常有帮助。
当然说这么多好处,主要还是对于像农夫山泉这样的大型企业来说的,中小企业的数据量还不大的时候,应该不会碰到这样的问题。
另外,除了HANA以外,企业计算还有一些别的高性能解决方案,比如Oracle的ExaData一体机。区别在于Oracle是基于自己的硬件和操作系统,并在此环境下专门优化了Oracle数据库组成的一体化解决方案,其性能之高,有相当部分也是基于超大内存的硬件和专用SSD存储实现。
相比之下,HANA是一种纯软件解决方案,它是运行于其它硬件厂商提供的经过SAP HANA认证的硬件和系统平台,与ExaData算是各有优缺点。
另外,HANA与SAP的其它产品——如ERP,BW数据仓库,BO商业智能产品——应该会有更好的配合度。