1.1 SAP HANA系统的组件

SAP HANA由哪些组件组成?这些组件之间有什么关系?每个组件具体起什么作用?接下来将介绍这些内容。

在SAP HANA系统(以安装方式为Single Instance来举例,SAP HANA也支持多租户)启动之后,当前这个完整的SAP HANA系统是由一组在后端运行的操作系统进程组成的。在图1-2中,除了显示了SAP HANA系统的所有系统服务,还显示了这个服务所使用的CPU、内存、所占用端口等信息,这些不同名称的系统服务(Index、Daemon、nameserver等)通过共同协作,组成了一个完整的SAP HANA系统。

图1-2 SAP HANA系统组件在服务器中运行的状态

在操作上,以上这些组件都可以进行独立重启。例如,我们做了一些XS的配置参数,需要XS服务器重启,此时可将XS Engine单独停止,然后再启动。

从软件上看,SAP HANA的核心内容是内存数据库、列存储、OLAP引擎等,将这些内容整合为一个Index服务,然后在不断推出的新版本中将更多的功能模块整合为一个单独的新服务,或者将新特性加入已有的服务中。这些陆续增加的新服务、新特性从一开始就在SAP HANA产品路线图被标记出来了。这些新服务或新特性加入到SAP HANA系统中,其唯一目的就是高效地利用SAP HANA的内存计算能力。有的读者会觉得SAP HANA变得越来越庞大,这是因为需要利用SAP HANA的地方太多了,并且SAP HANA的内存计算核心功能也需要不断完善,变得更为智能。

从硬件上看,SAP HANA也在不断地融合新技术到新版本中,Intel的E7 Haswell架构上的处理器也增加了TSX(Transactional Synchronization eXtensions,事务同步扩展)功能,它在硬件架构层面更是增强了事务数据处理的效率,这使得在多核架构下的内存计算中加速了同步线程的可扩展性和性能。从已经推出的SPS10开始,SAP HANA就可以充分利用TSX的能力,改善现有基于锁的编程模型,从而让SAP HANA具有更强的扩展性和更好的事务处理执行性能。

图1-3所示列出了SAP HANA系统的主要组件,以及外部应用访问这些服务组件时的协议和方法。按照功能来说,SAP HANA系统中的服务可以分为两类:第一类是数据库服务组件;第二类是应用服务和增强组件。

图1-3 SAP HANA系统的主要组件