SAP官方培训中心【迪森微课堂】第六期重磅干货:SAP HANA技术架构精华分享!
发布时间: 2016-03-24
浏览次数: 1325
讲师介绍——

 

前言

随着大数据时代的来临,集团多元化、全球化的进程,以及信息技术的全球普及,企业拥有的数据量越来越大,这些来源于生产、运营、研发、销售过程中的海量数据,不仅充分反映着企业当前的经营状况,也为企业未来的经营决策提供有力依据,但是要分析如此庞大的数据,只依靠传统IT架构已力不从心,旧系统逐步呈现出功能及性能方面的若干问题。

 

所以,许多企业选择基于 SAP HANA 平台,来推进所有业务模式的数字化进程,确保自己能够与时俱进,并保持竞争优势。客户选择 SAP HANA,不仅是为了运行核心业务应用,还会用于开发动态应用,获取实时洞察,进而推动业务增长,超越竞争对手。而 SAP HANA 是市面上唯一一个能够同时简化 IT、激发创新的平台,原因就在于只有 SAP HANA 能将内存计算数据库功能与内置的应用服务、高级数据处理和数据集成等功能集于一体。

 

 

以下内容来自【迪森免费微课堂】第六期课程分享,希望大家都能不断充电不断提高,在我们热爱的SAP事业道路上持续加速前进!

 

1HANA的市场背景

 

当前是一个信息爆炸的时代,企业要正常运转,需要各种系统互相配合。我们不仅有系统日常运营所需的数据,还需要将数据单独存放到数据仓库中进行数据分析,日益增加的系统复杂性和数据复杂性成为企业信息化发展的新瓶颈。

 

在数据的管理变得越来越复杂的同时,更加不能容忍的是,我们所分析的数据往往是几天前甚至一个月前的数据,在如今瞬息万变的世界中,不能够对当前的数据进行快速分析会让企业失去快速应对市场变化的能力。

 

2列存储——不一样的数据模型

 

列存储数据库是一种不同于传统数据库的存储结构。列存储数据库把表拆分为不同的列,每列拆分为数据字典和列数组,数据字典按照数值的大小排序,列数组以整数的形式存储对应数值的索引号。如果有需要,我们还可以建立反向索引,用来加速数据的检索。

 

3列存储的优势与劣势

 

列存储的优势:

1、数据压缩存储,未经任何优化情况下数据压缩7-10倍;

2、检索快,数据字典相当于对每一列都进行了索引;

3、数据分析快,运算只涉及被选到的列;

4、支持大列表,各列分别存储,表的列数增加不会显著影响性能;

5、对并行处理支持较好。

 

列存储的劣势:

1、更新数据可能需要重构数据字典,也有可能大批量更新列数组;

2、数据输出慢,输出时需要将数组中的数值替换成实际值;

3、数据存储不连续,在硬盘数据库条件下难以实现。

 

4内存数据库
 

 

随着硬件技术的发展,内存速度已经发展为是普通硬盘的10万倍,是SSD硬盘的2000倍,并且价格越来越低,容量轻易达到TB级,使得把数据库完全装载在内存中成为可能。

 

同时,内存的存储模式为随机存储,适合列存储模型各列碎片化存储的模式。内存通过CPU寻址的方式访问,能够充分发挥多核CPU的性能,也能够充分发挥列存储模型中多列并行处理的模式。列存储对数据压缩存储,进一步减少了数据库对内存的需求。可以说列存储和内存数据库的配合相得益彰,扬长避短。新的挑战已经变成如何更加有效地利用CPU缓存。

 

5HANA产品介绍——先进技术

 

SAP HANA是基于当前最新的软硬件技术的集数据库、数据仓库、数据分析、应用程序、文本分析等功能的产品。从硬件上来看,SAP HANA与最新的Intel CPU研发紧密配合,充分利用新硬件的性能。

 

从软件设计上,HANA采用列存储和行存储并行的引擎,满足不同需求的数据存储,通过表分区技术将一个大表分布到不同的服务器上;同时,HANA采用了表的二级缓冲机制,避免列存储数据更新时大批量更新数据字典的问题,在写入性能和读取性能上取得了较好的折中。

 

6HANA产品的应用场景

 

HANA在SAP的产品架构中具有多种应用场景。最初HANA做为加速器,在现有系统架构之外部署一个HANA数据库,将现有系统的数据实时同步到HANA,再把现有系统的查询请求重定向到HANA数据库。

 

随后SAP推出了BW on HANA,用HANA做为BW系统的主要数据库,大大加快了BW报表的运行速度,提升了用户体验,同时还提升了BW报表开发和调整的速度。

 

最后HANA做为ERP产品的主要数据库,SAP推出了Suite on HANA的产品,实现了对ERP产品的速度全面的提升,为了能够最大限度地发挥HANA的特性和优势,SAP还推出了最新的S/4 HANA,在应用设计时就考虑到应用系统如何发挥HANA的优势,减少HANA的劣势对系统的影响。

 

7HANA系统构架

 

HANA的系统当中的核心引擎是行存储引擎和列存储引擎,对HANA数据的查询和操作通过计算引擎的组合(包括Join引擎,OLAP引擎,计算引擎)执行。此外,HANA还具有SQL引擎,存储过程引擎,计划引擎,MDX协议引擎等,用于解析各种指令和适配外部的接口协议。

 

8HANA持久层概念介绍
 

HANA虽然是内存数据库,在磁盘中也保留完整的数据副本。磁盘存储分为日志盘和数据盘,数据的更新实时写入日志盘,日志盘会定期与数据盘进行同步。

 

当HANA服务器断电恢复时,会把数据盘的数据和日志盘的数据进行合并,从而得到断电之前最后时点的数据。为了保证HANA数据库更新的性能,在实践当中,日志盘一般采用固态硬盘。

 

9HANA Studio介绍

 

HANA Studio是最常使用的HANA管理和开发工具,HANA Studio基于Eclipse,对开发人员非常友好,具有Modeling,Administrator,Development和Planviz四个,分别用于建模、系统管理、开发和调试。

 

10 属性视图+分析视图进行OLAP分析的好搭档
 

通过属性视图和分析视图进行结合,可以进行多维分析视图的创建。分析视图负责提供分析数据,并进行分组,汇总等计算功能,属性视图对具体的分析维度进行扩展,与其他的表相连接。

 

将需要分析的数据和相关的维度数据通过不同的视图实现,有利于对维度进行复用。一个分析视图与多个属性视图结合,形成“星型模型”,该模型可以作为多维分析应用的基础模型。分析视图一般适用于原始数据比较规范,不用额外的数据清洗,通过基本的过滤、表关联、汇总,能够直接进行分析。

 

11图形化计算视图

 

计算视图通过不同的节点,将数据处理过程形成流程图,具有全功能的数据处理能力。数据以流程图的形式展现,清晰的体现了数据的处理过程。

 

计算视图包括五种节点,Projection节点用于过滤和选择特定的列,Aggregation节点用于对数据进行分组汇总,Union节点用于对数据进行联合查询,Join节点用于表连接,Rank节点用于对数据进行分组排序。计算视图适用于需要从原始数据进行实时的数据清洗,并直接生成最终结果的情形。

 

12基于SQL脚本的计算视图

 

基于脚本的计算视图能够通过CE_PLAN操作符和SQL Script语句,编写更加复杂的视图取数逻辑。

 

13编写存储过程,进行数据逻辑的模块化

 

当需要一个查询返回多个结果集时,我们还可以创建存储过程,存储过程同样可以使用CE_PLAN操作符或SQL Script编写。

 

14其他特征
 

HANA建模的其他特性包括:

1、通过计算字段进行数据输出;

2、通过Restrict Column对同一字段进行多角度不同分析;

3、进行货币/单位的数据转换;

4、使用Text Join根据用户登录语言输出描述文本;

5、使用层级嵌套功能,为前端工具提供视图的树形层级信息;

6、使用全文检索引擎进行全文检索查询。

 

15基于HANA的ERP开发整体思路

 

当ABAP与HANA结合后,我们会更多的让HANA完成计算工作,而非通过ABAP内表操作,此外,我们还要尽量减少在应用程序服务器和数据库服务器之间的数据传输。

 

16通过ADBC使用HANA原生SQL访问HANA数据库

 

ABAP可以通过ADBC类,使用HANA原生SQL访问HANA数据库,并将HANA数据库的查询结果返回到ABAP变量。这种方式可以完全发挥HANA的性能。但是对应的编码较为复杂,难度较高,容易出错。

 

17使用New OPENSQL下沉数据逻辑
 

在ABAP 7.40当中,可以使用新版OPEN SQL对数据库进行访问。新版OPEN SQL几乎实现了SQL 92标准,大大扩展了原来OPEN SQL的功能。使得通过写几个SQL语句就能够编写报表成为可能。将逻辑下沉到HANA的最简单方法就是用新OPEN SQL替代ABAP的内表操作。

 

18使用CDS下沉数据逻辑

 

CDS视图是ABAP 740的新概念,可以使用新版OPEN SQL创建一个可存储的视图,该视图可以通过SE11数据字典查看但无法修改。创建的视图可以直接当作数据库视图使用,可以用其创建数据类型,也可以在OPEN SQL中直接查询。CDS视图是未来ABAP创建可复用的查询逻辑的主要手段。

 

19 使用AMDP下沉数据逻辑
 

AMDP(ABAP Managed Database Procedure)也是ABAP740中的新概念。可以把某些ABAP的类或方法设置为AMDP,编写这些代码时不使用ABAP语言编写,而是使用HANA SQL Script进行编写。

 

在运行时,会在HANA数据库中生成一个存储过程,在HANA中执行。这么做的主要目的是能够使这些代码和对应的ABAP程序通过同一个传输请求去管理,避免应用程序代码和数据库代码的生命周期不同造成的潜在风险。

 

20使用代理对象下沉数据逻辑

 

对于已经创建好的HANA对象,可以在ABAP服务器中创建代理对象进行导入。外部视图可以导入HANA的视图模型,导入后和普通的视图一样使用。存储过程代理创建一个存储过程代理对象,导入HANA的存储过程,创建后可以通过CALL DATABASE PROCEDURE语句进行调用。

 

21S/4 HANA对HANA原生程序的运用

 

HANA原生应用也在SAP的技术框架中具有重要的地位。在S/4 HANA的系统框架中,我们通过HANA XS Engine,将HANA的信息模型发布成OData服务,客户端会绕过ABAP服务器,直接调用这些OData服务,获取所需的数据。这样的模式广泛的用在S/4 HANA系统的分析程序当中。

 

22 HANA Cloud Platfom介绍
 

 

 

HANA同时提供了基于云端的平台HANA Cloud Platform,只要注册一个账号,就可以获得集HANA数据库,应用程序开发,前端开发,表单开发,社区集成,门户,系统集成等功能整体解决方案,简化了IT架构,也为中小企业选择SAP产品提供了另一种选择。

 

23 HANA学习路径--Basis
 

 

对于Basis顾问,需要从多个方面学习HANA,包括HANA系统的概况、日常管理、安装、性能调优、HANA升级等。SAP为学员准备了丰富的课程,帮助大家掌握相关的技能,主要课程包括:

  • HA100-HANA整体介绍(必学课程)
  • HA200-HANA的日常管理与操作(必学课程)
  • HA240-HANA安全管理
  • HA250-使用DMO将传统数据库迁移到HANA
  • ADM328-SAPEhp补丁安装

 

其中,必学课程为每个HANA顾问必须掌握的部分,其他课程可以根据个人发展和项目需求进行选择。

 

24HANA学习路径--HANA开发与实施

 

对于应用与开发顾问,主要需要掌握HANA的建模,以及HANA与现有的系统的结合。SAP为学员准备了丰富的课程,帮助大家掌握相关的技能,主要课程包括:

  • HA100-HANA整体介绍(必学课程)
  • HA300-HANA实施与建模(必学课程)
  • HA400-ABAP on HANA开发
  • HA150-HANA SQL语句
  • HA450-HANA原生应用程序开发
  • BC404-基于Eclipse的 ABAP开发工具

其中,必学课程为每个HANA顾问必须掌握的部分,其他课程可以根据个人发展和项目需求进行选择。

 

以上内容均为【迪森】原创出品,版权归迪森所有,严禁任何形式的抄袭行为,否则将追究其法律责任,敬请遵守!敬请各位维护好良好的SAP圈内正能量环境,我们会分享越来越多的精华,谢谢!

 


服务指南

如需了解更多SAP课程资讯、项目咨询运维,请拨打迪森官方咨询热线: 400-600-8756

 

【迪森微课堂】

SAP圈内最接地气的纯技术交流、纯干货分享平台,全球SAP顾问与业界顶尖名师的聚集地,是SAP顾问进阶的官方桥梁。

 

【如何加入迪森微课堂】

请即刻关注迪森官方微信公众平台,第一时间获得迪森最新动态,秒抢宝贵席位!

在线咨询
微信咨询
咨询电话
400-600-8756