「书评」SAP内存计算——HANA
因为工作关系,长期跟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商业智能产品——应该会有更好的配合度。
相关文章
- [SAA + SAP] 19. Database & Redshfit
- SAP UI5 sap.ui.layout.Grid 控件概述
- SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能试读版
- SAP UI5 的 sap-ui-bootstrap script 脚本标签各属性解析
- SAP UI5应用在SAP WebIDE里clone之后出现404 not found error for sap-ui-core.js错误的原因分析
- SAP Fiori Elements - how is sap-label annotation inserted to odata request
- SAP UI5 why failed to load 'sap/cus/crm/lib/reuse/library.js' from resources/sap/cus/crm
- SAP UI5 walkthrough 5 - 7 sap.ui.define(["sap/ui/core/mvc/Controller"]
- 乾坤大挪移:SAP CRM WebClient UI 和 SAP Fiori UI 混搭并存
- where does default 20 come from SAP UI5 growingThreshold
- 浅谈 SAP ABAP 系统里的 ALV 输出方式实现
- 如何使用SAP Intelligent Robotic Process Automation自动操作Excel
- SAP专家培训之Netweaver ABAP内存管理和内存调优实践
- SAP ABAP Workflow 显示问题
- Spartacus同SAP Commerce Cloud交互的示意图
- SAP Spartacus user-addresses.effect.ts里发送地址加载成功的action,会触发我们自己的reducer
- SAP IBASE father component的创建
- SAP HANA里的中文排序问题
- SAP 云平台 ABAP 编程环境的前世今生
- SAP BTP 应用 mta.yaml 里的 sap-btp-project1-dest-content module