SAP内存计算--HANA 走近SAP HANA-LMLPHP

第一章 走近SAP HANA
摘要:拿到这本书的读者,相信您对SAP HANA已经有所耳闻。对于这样一个
基于内存计算创新型的高性能数据处理平台,我们应该如何去理解和应用?如何
将它融入到我们现有的企业信息化架构中去?在回答这些问题之前,我们首先需
要理解SAP HANA到底是什么,它所倡导的内存计算是如何给企业带来价值,SAP
HANA对于企业和SAP公司自身来说的技术路线图,以及SAP HANA这一革命性的
产品如何提升和改变我们现有的信息系统架构,如何影响今后我们进行应用程序设
计的思考和行为方式等这些问题。
在弄清楚这些问题之后,我们会在后面的章节逐一介绍SAP HANA的实例应用
和操作,并且以手把手的方式向读者介绍完整的实施过程。本章节会先讲解内存计
算的背景,以及基于传统关系型数据库(RDBMS)应用架构上的一些限制因素,然后
介绍SAP是如何基于最先进的内存计算技术推出新一代的高性能实时数据平台(Real
Time Data Platform)——SAP HANA这一产品,最后介绍SAP HANA这一产品的发展
历史,以及SAP HANA对于全世界的企业以及SAP公司自身的价值和影响。


第一节 内存计算时代已经到来
有几次当我们的团队走过街边的夜市,看到地上摆着的各种各样的小商品,有
iPhone的贴膜、手机外壳,当然还有各种内存条和8G/16GB 的小优盘等,这时候总
会有人喊出一句:“看!内存计算时代已经到来!”虽然这不能准确地表达内存计
算时代已经到来,但是这基本上也说明了一个现象。在内存容量和CPU速度已经不
再成为问题的时代,我们的传统计算架构是否应该有新的变化?
或许有人说内存计算技术,或者内存数据库本来就不是一个新话题。确实如
此,就像从手持移动设备不断地更新中我们也能看到同样的历史。大家用了这么多
年的手机,各种功能其实早就有了,语音识别在10多年前就已经开始在做了,但是
这并不妨碍某一款新手机一经推出就立即让全球用户都成为它的粉丝。其中的奥秘
就在于它重新定义了手机的概念。
SAP HANA和苹果iPhone一样都是技术创新的产品。所谓创新就是基于以
前的技术积累,同时又要突破这些技术积累的惯性思维而创造出新的东西。SAP
HANA和iPhone这两种产品中所包含的所有技术在过去很多产品中都有它们的影子
或者有技术原型。但是只有它们将过去这么多年的知识积累和技术创新做到了极
致,并且成为这股创新力量的真正领导者,才能让其他的市场参与者竞相跟随着
这股潮流。


第二节 当前信息系统架构的普遍问题

随着企业的业务扩展和数据量的增大,性能这一问题逐渐暴露出来。当然这也
是在目前海量数据或大数据背景下的一个越来越明显的趋势。可以说,很多应用系
统的核心性能问题都直接或间接地反映在磁盘I/O的瓶颈上。
那么,为什么会出现这个问题呢?目前的大部分应用系统都是基于传统关系型
数据库(RDBMS)而创建的,无论是交易型(OLTP)还是分析性(OLAP)业务系统。但
是传统的关系型数据库主要是为传统的交易型业务系统(OLTP——在线交易处理型
应用)而设计的。由于早年的计算机硬件成本和架构制约了数据库的设计,关系型
数据库这一堪称经典且曾经有效的设计一直沿用至今。从DB2、Sybase、Informix、
Oracle、MS-SQL Server、MySQL等这个领域所涌现的众多产品中,我们能够看出这
个市场是多么广阔和重要。这些数据库产品的版本一年比一年更新得快,效率和功
能也确实越来越强大。但是我们不得不面对的一个事实,这些基于传统关系型数据
库和传统架构进行的优化和改进都是基于磁盘技术来进行的。
信息的爆炸式增长和对于信息的实时处理能力(见图1.1)始终是矛盾的。当希望
从海量数据中快速获得所需要的信息时候,企业对信息系统的这种对海量数据的实
时处理能力的需求,在过去从来没有如此之强烈和迫切。而此时信息系统所不可避
免的遇到的性能问题就成为企业迫在眉睫需要解决的重大挑战。数据量越来越大,
运算越来越复杂,响应时间要求越来越短,而性能却越来越慢,用户体验越来越
差……
SAP内存计算--HANA 走近SAP HANA-LMLPHP


从过去的几年来看,计算机处理器的速度几乎没有太大的突破,但是伴随着的
是CPU处理器从单核走向多核,从2核、4核,到8~10核,而且很快即将拥有32~64
个内核的单处理器。通过增加处理器的内核,CPU具有了更强、更多并发的计算能
力。在CPU这样的新发展趋势下,传统软件架构如果不做革命性的创新,无法有效
驾驭和充分利用这种新硬件架构的优势。从总体的系统架构优化角度来看,期望单
纯通过加大硬件投资,是无法给企业带来良好的投资回报比的。以下是最主要的一
些原因。
? 无法充分地发挥出多CPU内核配合大内存硬件架构的潜在高性能。
? 数据流为:磁盘经内存至CPU,数据吞吐的瓶颈依然存在。
? 数据库只“存放”数据,耗时的计算仍然习惯性在应用层完成。
? 没有内存数据库做支撑。
? 不支持大规模并行处理计算。
? 没有解决列存储、行存储、内存技术、并行化处理的组合应用问题。
以上的这些问题在过去的众多权威的数据库研究测试结果中均得到证实,由于
本文的篇幅有限,在这里不展开讨论。
第三节 新一代高性能实时数据平台
很多读者不禁会想,为什么一定要用SAP HANA?提升当前硬件服务器的配
置,多加一些高性能存储器,增加更多的应用服务器节点,不是也可以提高一些性
能吗?是的,这样可以,但这是最好的办法吗?
现在的应用系统架构,不管是C/S(客户端/服务器)的还是B/S(浏览器/服务器)的
三层架构,都是为了满足和适应传统的数据库需要而设计的。把应用服务器和数据
库服务器彻底分离,也是为了提高系统的高负载和高可用性。中间的应用服务器层
可以横向扩展应用节点,从而避免应用服务器层的单点故障,并实现应用层的自动
负载均衡。没错,这些都是对的,而且现在很有效。
让我们更加具体一点来说明这个问题,一个杯子在放满水的时候,我们看见,
这是一杯水,如果呈上一杯茶,我们看见这是一杯茶,倒上可口可乐或者雪碧,这
就是一杯饮料,但是我们似乎从来都没有仔细注意过我们的这个杯子。当下层基础
决定上层建筑的时候,我们一直忘记了这个杯子,我们总认为是内存不够,CPU不
够强大,Web服务器不够抗压,但是我们有没有想过当我们在应用服务器这一层(无
论是硬件,还是软件层面)放入了太多的精力的时候,究根结底是为了什么?
对于上面的这个问题,我们也无法给出一个最令人满意的答案,我们对应用服
务器的依赖,和各种编程语言的执行效率看的比什么都重,但是却忽略了一个最基
本的道理,数据库不就是吞吐数据的吗?
数据库“放”数据,应用服务器“算”数据,我们目前所有的信息系统架构不
都是这么构架的吗?作为一个可以反复使用的成熟经验,我们已经习惯这么做了,
而我们正在做的就是不断地重复这一过程,或者期望在不改变这种架构的情况下幻
想它可以变得越来越完善,即使数据越来越庞大,运算越来越复杂。
2011年和2012年连续两年,SAP在中国北京举办了两届商业同略会和SAP全球
技术大会,整个大会核心之一就是SAP HANA,各种应用移植到SAP HANA之前
和之后的价值对比。以至于SAP的创始人之一哈索博士(Dr. Hasso Plattner)上台就
说,他很难不讲SAP HANA。从SAP的创始人到SAP的每个基层员工都在谈论SAP
HANA,真的是非常不可思议的一件事情,这大概是继SAP ERP产品发布之后的另
一个伟大的产品了。在2011年的SAP商业同略会上,本书的另一位作者,农夫山泉
首席信息官(CIO)胡健先生也与哈索博士同台介绍了SAP HANA在与企业合作中所取
得的成果以及产生的应用价值。可以这样说,SAP HANA以及内存计算应用真正改
变了企业思考问题的方法,使我们之前不可能实现的想法成为现实。
一、SAP HANA基本介绍
SAP HANA是一套灵活、多用途且与数据源无关的基于内存计算的全新平台,
是通过整合硬件(由SAP的硬件合作伙伴提供)和优化软件的一套基于内存计算技术
的应用。你可以把SAP HANA理解成一体机,只是承载SAP HANA的硬件供应商可
以由企业自由选择而已(具体的SAP HANA认证的硬件服务器请参考后面的章节)。
不管是从软件层面还是硬件层面上看,SAP HANA都是基于开放式架构来设计的。
谈到这里,请读者朋友不要误会一点,SAP HANA不仅仅是一个内存数据库,
更是一个高性能实时数据平台,在这个平台中包含了内存数据库和内存计算引擎,
并且运行在认证的硬件服务器上。有DBA(数据库管理员)背景的一些读者朋友如果
拿SAP HANA和传统的数据库做一些对比的话,会发现很多对于传统数据库不得不
做的工作,对SAP HANA而言却并不需要。是的,这里所说的并不是SAP HANA没
有相关功能,而是管理员完全不再需要做相关工作,这在很大程度上简化了数据库
维护的工作。比如以前管理员会考虑索引及其优化方式,但是由于SAP HANA无需
索引,所以自然就无需再考虑这些方面的工作了,如图1.2所示。
SAP内存计算--HANA 走近SAP HANA-LMLPHP

SAP HANA能够让企业根据不断变化的大量详细信息来分析业务运营情况。用
户几乎可以实时地浏览和分析来自任意数据源的业务交易数据。在发生业务时,这
些交易数据将会被实时同步到SAP HANA的内存数据库中,用户可以使用非常灵活
的视图,并以思维般的高速度展现这些分析的信息结果。如果要做整个企业的扩展
性分析,只需将外部数据添加到分析模型中即可。
SAP H ANA能简化现有企业应用系统的计算层,使得企业的业务应用可以从硬
件的性能提升中直接受益,从而使客户能够实时分析几乎任何来源的大量数据,利
用实时的内存技术帮助企业提高运营效率。
通过 SAP HANA,企业可以在业务运作期间基于海量、实时的详细信息分析业务
运营情况,还可以探索和分析来源于所有数据源的全部交易数据和分析数据。运营数
据在其产生同时,就可以被内存获取,并通过灵活的视图实时地将分析信息呈现给用
户。企业的各种系统数据可轻松地被添加至分析模型,并与所有数据进行整合。
从硬件层面上来看,SAP HANA目前基于Intel X86 架构。SAP对于此架构经过
特别测试和优化。这是因为X86架构的开放性和标准化,以及目前的主流PC服务器
都是基于X86架构而设计的,这使得企业可以有非常宽泛的选择余地。而且目前PC
服务器的运算能力已经远超过很多小型机,这样企业在硬件的选择和成本控制上可
以使用相对成本更低、性价比更高的PC服务器来实现高性能计算,使得高性能计算
可以真正的普及到所有企业用户,而非只是大企业才使用得起的昂贵设备。当然,
与此同时SAP目前也正在谋求扩展SAP HANA到其他如小型机的架构之上。

采用开放式一体机的方式,这使用户不再被动地被绑定到某个固定的硬件供应
商,而是根据自身的使用习惯和硬件采购规范去选择更经济的服务器供应商。所有
经过SAP HANA认证的硬件服务器的配置如图1.3所示。SAP HANA采用多核超线程
CPU,大容量商用内存,并且提供SSD和硬盘作为掉电恢复数据的保障等,这些基
本配置都有非常严格的配比和架构方式。比如CPU的一个处理器内核对应多少内存
容量,对应多少并发的用户访问等,我们在后面的章节会详细地介绍这些内容。
从软件层面上来看,SAP HANA是运行在SUSE Linux操作系统上。这和很多其
他的厂商一样,使用的是基于开放式软件架构的操作系统。目前通过SAP HANA认
证的BI商务智能展现工具有SAP BusinessObjects BI 4.0。除了使用企业级的BI商务智
能工具之外,SAP HANA也支持目前几乎所有的主流数据访问接口(在后面的章节我
们会详细陈述这些数据访问接口),如JDBC、ODBC、ODBO、MDX、SQL等数据
接口,如图1.3所示。

SAP内存计算--HANA 走近SAP HANA-LMLPHP


目录

第一章 走近SAP HANA ????????????????????????????????????????????????????????????????????????????????? 1
第一节 内存计算时代已经到来 ??????????????????????????????????????????????????????????????????????? 2
第二节 当前信息系统架构的普遍问题 ??????????????????????????????????????????????????????????? 2
第三节 新一代高性能实时数据平台 ??????????????????????????????????????????????????????????????? 4
一、SAP HANA基本介绍 ??????????????????????????????????????????????????????????????????????????????????????5
二、SAP HANA——内存数据库 ??????????????????????????????????????????????????????????????????????????8
三、SAP HANA的创新架构 ??????????????????????????????????????????????????????????????????????????????????9
第四节 SAP HANA发展历史 ?????????????????????????????????????????????????????????????????????????? 11
第五节 SAP HANA技术路线图和发展趋势 ?????????????????????????????????????????????????? 12
一、SAP HANA的趋势 ????????????????????????????????????????????????????????????????????????????????????????13
二、SAP HANA将会是一个开放的平台 ????????????????????????????????????????????????????????????13
第六节 SAP HANA的关联系统架构 ?????????????????????????????????????????????????????????????? 14
第七节 SAP HANA对企业的价值和机遇 ?????????????????????????????????????????????????????? 16
一、SAP HANA 提升具体业务应用的能力 ????????????????????????????????????????????????????????17
二、SAP HANA能够带来的优势 ????????????????????????????????????????????????????????????????????????18
第八节 内存计算革命已拉开序幕 ????????????????????????????????????????????????????????????????? 19
一、企业级应用面临的挑战 ????????????????????????????????????????????????????????????????????????????????19
二、内存计算技术的实现和切换 ????????????????????????????????????????????????????????????????????????21
三、客户在内存计算中的收益 ????????????????????????????????????????????????????????????????????????????22
第九节 本章总结 ????????????????????????????????????????????????????????????????????????????????????????????? 24
? XII ?
SAP内存计算——HANA
企业信息化与最佳实践丛书
第二章 安装SAP HANA数据库系统 ????????????????????????????????????????????????????????????? 25
第一节 安装SAP HANA数据库所需的软硬件环境 ????????????????????????????????????? 27
一、SAP HANA的硬件环境 ????????????????????????????????????????????????????????????????????????????????28
二、SAP HANA数据库服务器硬件环境的容量预估 ????????????????????????????????????????30
三、SAP HANA的软件环境 ????????????????????????????????????????????????????????????????????????????????35
第二节 SAP HANA数据库的设计与准备 ?????????????????????????????????????????????????????? 38
一、单节点与分布式SAP HANA数据库 ????????????????????????????????????????????????????????????38
二、文件系统、参数设置以及用户的准备 ????????????????????????????????????????????????????????39
第三节 安装SAP HANA数据库服务器 ?????????????????????????????????????????????????????????? 41
一、通过安装管理器来安装SAP HANA数据库服务器 ????????????????????????????????????41
二、启动或停止SAP HANA数据库服务器 ????????????????????????????????????????????????????????47
三、增加SAP HANA数据库节点 ????????????????????????????????????????????????????????????????????????48
四、安装SAP HANA数据库客户端 ????????????????????????????????????????????????????????????????????50
第四节 安装SAP HANA工作站 ????????????????????????????????????????????????????????????????????? 53
一、安装SAP HANA工作站 ????????????????????????????????????????????????????????????????????????????????53
二、连接SAP HANA工作站与SAP HANA数据库系统 ?????????????????????????????????????56
第三章 SAP HANA的数据复制 ???????????????????????????????????????????????????????????????????? 61
第一节 基于触发方式的数据复制 ????????????????????????????????????????????????????????????????? 62
一、原理与架构 ????????????????????????????????????????????????????????????????????????????????????????????????????62
二、安装与配置LT ????????????????????????????????????????????????????????????????????????????????????????????????66
三、通过LT复制服务器抽取数据到SAP HANA数据库 ????????????????????????????????????78
第二节 基于ETL方式的数据复制 ?????????????????????????????????????????????????????????????????? 83
一、原理与架构 ????????????????????????????????????????????????????????????????????????????????????????????????????84
二、准备、安装及配置Data Services ??????????????????????????????????????????????????????????????????85
三、通过Data Services抽取数据到SAP HANA ???????????????????????????????????????????????????88
第三节 基于数据库日志的数据复制 ????????????????????????????????????????????????????????????? 99
一、原理与架构 ????????????????????????????????????????????????????????????????????????????????????????????????????99
二、安装与配置 ????????????????????????????????????????????????????????????????????????????????????????????????? 100
第四节 总结(三种方式的对比) ????????????????????????????????????????????????????????????????????? 100
第四章 SAP HANA的数据建模 ?????????????????????????????????????????????????????????????????? 103
第一节 属性视图——Attribute View ???????????????????????????????????????????????????????????? 103
一、 属性视图 ???????????????????????????????????????????????????????????????????????????????????????????????????? 103
二、创建属性视图 ????????????????????????????????????????????????????????????????????????????????????????????? 103
第二节 分析视图——Analytic View ???????????????????????????????????????????????????????????? 116
一、分析视图 ????????????????????????????????????????????????????????????????????????????????????????????????????? 116
二、创建分析视图 ????????????????????????????????????????????????????????????????????????????????????????????? 116
第三节 计算视图——Calculation View ???????????????????????????????????????????????????????? 127
一、计算视图 ????????????????????????????????????????????????????????????????????????????????????????????????????? 127
二、创建计算视图 ????????????????????????????????????????????????????????????????????????????????????????????? 127
第四节 SQL建模 ???????????????????????????????????????????????????????????????????????????????????????????? 138
一、SQL建模 ?????????????????????????????????????????????????????????????????????????????????????????????????????? 138
二、SAP HANA中的SQL Script ??????????????????????????????????????????????????????????????????????? 139
三、SQL建模实例 ?????????????????????????????????????????????????????????????????????????????????????????????? 149
第五章 SAP HANA的数据展现 ?????????????????????????????????????????????????????????????????? 151
第一节 SAP HANA报表层连接 ???????????????????????????????????????????????????????????????????? 152
第二节 BusinessObjects BI 4.0 ?????????????????????????????????????????????????????????????????????? 153
一、BI 4.0 介绍 ?????????????????????????????????????????????????????????????????????????????????????????????????? 153
二、BI 4.0客户端工具 ??????????????????????????????????????????????????????????????????????????????????????? 154
第三节 通过Explorer展现SAP HANA中的数据 ?????????????????????????????????????????? 159
一、信息空间 ????????????????????????????????????????????????????????????????????????????????????????????????????? 160
二、建信息空间及索引 ????????????????????????????????????????????????????????????????????????????????????? 160
第四节 通过语义层展现SAP HANA中的数据 ???????????????????????????????????????????? 167
一、语义层的使命 ????????????????????????????????????????????????????????????????????????????????????????????? 167
二、常规语义层 ????????????????????????????????????????????????????????????????????????????????????????????????? 168
三、BI 4.0中的语义层 ??????????????????????????????????????????????????????????????????????????????????????? 169
四、信息设计工具 ????????????????????????????????????????????????????????????????????????????????????????????? 170
第五节 通过水晶报表展现SAP HANA 的数据 ??????????????????????????????????????????? 189
一、ODBC连接模式 ?????????????????????????????????????????????????????????????????????????????????????????? 189
二、JDBC连接模式 ?????????????????????????????????????????????????????????????????????????????????????????????194
第六节 通过微软Excel展现SAP HANA中的数据 ???????????????????????????????????????????????199
一、本地Excel接口——透视表(ODBO) ????????????????????????????????????????????????????????????200
二、使用ODBO ????????????????????????????????????????????????????????????????????????????????????????????????????200
三、小结 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????203
第七节 通过水晶报表和WEBI展现的示例 ?????????????????????????????????????????????????? 203
一、水晶报表示例 ???????????????????????????????????????????????????????????????????????????????????????????????203
二、WEBI 示例 ????????????????????????????????????????????????????????????????????????????????????????????????????227
第六章 SAP HANA系统管理 ??????????????????????????????????????????????????????????????????????? 241
第一节 用户管理与权限管理 ???????????????????????????????????????????????????????????????????????? 241
一、用户管理与认证 ???????????????????????????????????????????????????????????????????????????????????????????241
二、权限—— Authorization?????????????????????????????????????????????????????????????????????????????????243
第二节 用HDBSQL操作SAP HANA数据库 ????????????????????????????????????????????????? 251
第三节 备份与恢复 ???????????????????????????????????????????????????????????????????????????????????????? 253
一、概述 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????253
二、备份 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????255
三、恢复 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????260
四、示例演示 ???????????????????????????????????????????????????????????????????????????????????????????????????????265
第四节 分布式SAP HANA数据库系统 ????????????????????????????????????????????????????????? 268
一、分布式系统元素 ???????????????????????????????????????????????????????????????????????????????????????????268
二、高可用性 ???????????????????????????????????????????????????????????????????????????????????????????????????????271
三、分布式系统实战 ???????????????????????????????????????????????????????????????????????????????????????????274
第七章 SAP HANA的实战场景 ??????????????????????????????????????????????????????????????????? 283
第一节 农夫山泉公司概述 ???????????????????????????????????????????????????????????????????????????? 283
第二节 实时数据平台是农夫山泉未来IT架构的核心 ????????????????????????????????? 283
第三节 农夫山泉SAP HANA 1.0项目 ??????????????????????????????????????????????????????????? 285
第四节 农夫山泉BW on HANA项目????????????????????????????????????????????????????????????? 295
第五节 农夫山泉SAP HANA项目的经验总结 ????????????????????????????????????????????? 297
作者简介 ??????????????????????????????????????????????????????????????????????????????????????????????????????? 299


需要电子版试读样章的朋友请留下邮箱,一有时间就会发给大家

更多新书咨询请持续关注哦,


09-21 21:55