「书评」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商业智能产品——应该会有更好的配合度。
「书评」SAP内存计算——HANA的更多相关文章
- <<SAP内存计算——HANA>> 书评
<SAP内存计算——HANA>又是一本在地铁里读完的书,最近阅读量大增,都是托了地铁的福了. 一年多以前就在ITPUB里发过帖子问“SAP HANA归根揭底到底是什么?”,那时通过一些网络 ...
- loj #2044. 「CQOI2016」手机号码
#2044. 「CQOI2016」手机号码 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
- 一本通1648【例 1】「NOIP2011」计算系数
1648: [例 1]「NOIP2011」计算系数 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 给定一个多项式 (ax+by)k ,请求出多项式展开后 x ...
- JavaScript 引擎「V8」发布 8.0 版本,内存占用量大幅下降
上周,JavaScript 引擎「V8」的开发团队在该项目官方网站上正式宣布推出最新的 8.0 版本.这次更新的重点主要集中在错误修复及性能改善上,正式的版本将在数周后随着谷歌 Chrome 80 稳 ...
- 「SAP技术」SAP 如何看序列号被包在哪些HU里?
「SAP技术」SAP 如何看序列号被包在哪些HU里? 事务代码SE16 ,表名OBJK, 输入物料号,序列号,HeadTable 输入值SER06, 查询结果如下, 根据objlist, 去表ser0 ...
- 「SAP技术」 SAP MM MPN物料的采购初探
「SAP技术」 SAP MM MPN物料的采购初探 1, MPN物料号与我方正常使用料号物料主数据之间的LINK关系维护 MPN料号 14000005 , 我方料号11000250 , 2,采购信息记 ...
- 一个只需要点 「下一步」就完成监控 Windows
Cloud Insight 此前已然支持 Linux 操作系统,支持20多中数据库中间件等组件,多种操作,多种搭配,服务器监控玩的其乐无穷啊!但想想还有许多 Windows 的小伙伴没有体验过,所以在 ...
- jvm系列(十):如何优化Java GC「译」
本文由CrowHawk翻译,是Java GC调优的经典佳作. 本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三 ...
- LibreOJ 2003. 「SDOI2017」新生舞会 基础01分数规划 最大权匹配
#2003. 「SDOI2017」新生舞会 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 ...
随机推荐
- iOS7初体验(2)——单元测试
在Xcode 4.6及以前的版本,一直觉得单元测试这部分功能做得很鸡肋,用起来感觉很别扭.这一次Xcode 5.0默认就引入了单元测试,赶快来看看看相比以前的版本有什么提升吧!~_~ 1. 首 ...
- PowerDesigner 的7种建模文件
1. 概念数据模型 (CDM) 对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性. 2. 逻辑数据模型 (LDM) PowerDesigner 15 ...
- 解决Collection was modified; enumeration operation may not execute异常
今天在使用foreach循环遍历list集合时,出现Collection was modified; enumeration operation may not execute.这个错误,查了半天才发 ...
- jQuery 自动完成文本框
jQuery自动完成插件开源软件 http://www.oschina.net/project/tag/329/jquery-autocomplete jQuery TextExt http://te ...
- Python 基础 文件操作
字符串与字节之间的转换 # utf-8 一个汉字 占三个字节 # gbk 一个汉字 占两个字节 # 字符串转换成字节 print(bytes('汉字', encoding='utf-8'))print ...
- unix 环境高级编程 读书笔记与习题解答第四篇
第一章 第六节 第一小节 这一章没有程序设计和API方面的深入学习,而是注重介绍了unix操作系统中的原始数据类型和系统原型函数,错误处理方面的知识. ____unistd.h____ 该文件包含了u ...
- hdu3652B-number
Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal for ...
- iOS中浅淡UIApplication单例-b
在iOS的操作系统中 每一个程序都对应一个application单例,每一个application都对应一个Appdelegate代理,在代理中控制程序的各个状态.我们在程序中获取Applicatio ...
- Labeling Balls
poj3687:http://poj.org/problem?id=3687 题意:有N个重量1到N的点,把这N个点涂色,要求在一定的约束下颜色a必须比颜色b要轻,如果有多种选择则让重量最小的对应编号 ...
- OTP语音芯片和掩模语音芯片(mask)的区别
OTP(One Time Programable)是MCU的一种存储器类型,意思是一次性可编程:程序烧入IC后,将不可再次更改和:因此OTP语音芯片就是指一次性烧录的语音IC. 从OTP定义上来看,只 ...