最近,用到了SAP HANA内存数据库,听过这套集群搭建公司已花费超过2亿RMB。今天对于这款德国SAP制造的内存数据库做一个简单的介绍和总结。

虽然在处理大数据方面性能很赞,但是花费太高,不是一般小公司能够承担起的,所以不是很流行,在DB-Engines排名不是很高。

SAP HANA 高性能内存数据库

一、HANA是什么

HANA  (High-Performance Analytic Appliance)高性能分析设备

定义1:HANA是一个软硬件结合体,提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析。用户拿到的是一个装有预配置软件的设备。至于HANA的云服务,只是对用户而言可以在不购买相关硬件的情况下享受HANA的高性能(每月租金也在5000至上万不等),而HANA云服务的背后还是需要更高性能的硬件支撑的。

定义2: 基于内存计算技术的高性能实时数据计算平台,是全球一个发布商用的基于内存计算的产品,通过 SAP 内存计算技术优化应用,转变人们的思考、规划和工作方式。

SAP 提供一系列前所未有的新型企业应用,其中结合了大量交易与实时分析能力,能够显著优化现有的计划流程、预测流程、定价优化流程等数据密集型流程。借助 SAP 内存数据库,充分发挥实时数据的潜力。 SAP 内存数据库采用改进的数据压缩、多栏式数据存储和内存计算技术,支持新一代企业数据管理

二、软件方面

HANA的内存数据库(SAP In-Memory Database, IMDB)是其重要组成部分,包括数据库服务器(In-Memory Database Server)、建模工具(Studio)和客户端工具(ODBO、JDBC、ODBC、SQLDBC等)。HANA的计算引擎(Computing Engine)是其核心,负责解析并处理对大量数据的各类CRUDQ操作,支持SQL和MDX语句、SAP和non-SAP数据。比较显而易见的一点是,HANA计算引擎要快速处理用户复杂的查询请求,快速返回查询结果。

SAP内存数据库的数据并不是只在内存里,也会不停写到硬盘里,这就用到复制服务器Replication Server,包括Log-based,Trigger-based和ETL-based。这些复制服务器需要用到Sybase Replication Server、Sybase Replication Server Agent、Sybase Adaptive Server EntERPrise (ASE,适用性服务器)等,以及HANA Load Controller和BO Data Services。

SAP HANA 高性能内存数据库

三、操作系统方面

HANA原来运行在Suse Linux 企业版(SLES)上。2014年5月起,同样可以运行在Red Hat Linux。

四、硬件方面

SAP和多个硬件厂商合作生产支持HANA的高性能服务器,包括Dell R910、Fujitsu、HP DL580、IBM x3850等,以及和Cisco(Cisco Unified Computing System. UCS)等公司的合作。直观地说,这些机器的硬盘可能是数个600GB、转速10k rpm的硬盘组成RAID,内存可能有1T,文件系统可能是ext3或GPFS(IBM通用并行文件系统,General Parallel File System)。

和HANA类似,Oracle的Exadata也是一个预配置的软硬件结合体,提供高性能的数据读写操作。Exadata机器由Exadata数据库机器、Exadata数据库服务器、Exadata存储服务器以及高速网络接口等组成。InfiniBand端口的传输速度可以达到40Gb/秒。

HANA的快在于用大内存提供内存数据库,并在内存数据库里采用列式存储从而可以将更多的数据装进内存(列式存储更适合数据压缩)。

五、HANA性能及应用

  1. HANA不是一个数据仓库,而是一个平台,在这个平台之上用户可以构建数据仓库或集市、报表和仪表盘等。
  2. HANA能做的,首先是作为内存数据库,提供数据插入、修改和高效的查询功能。
  3. 其次,作为一个平台,在HANA之上,BO报表系统可以提供更好的用户体验 – 用户几乎不需要等待数据返回
  4. 用户可以使用HANA的建模工具直接访问ECC或其它数据源,避开BW。但也可以在HANA之上建BW,把BW那些性能问题交给HANA解决。
  5. SAP HANA提供多用途的内存应用设备,企业可以利用它即时掌握业务运营情况,从而对所有可用的数据进行分析,并对快速变化的业务环境做出迅速响应。
  6. 通过SAP HANA,企业可以在业务运作期间基于海量实时详细信息分析业务运营情况。企业可以探索和分析来源于所有数据源的全部交易数据和分析数据。运营数据在产生时由内存获取,并通过灵活的视图迅速将分析信息呈现给用户。外部数据可轻松的被添加至分析模型,与整个企业的数据进行整合
  7. 通过SAP HANA 可直接访问运营数据,而不影响SAP ERP和其他运营系统的性能。企业可以近乎实时地将主要交易表同步到内存中,以便在分析或查找时能够轻松对这些表进行访问。一旦数据可通过内存访问,各个部门就可以从预订单据、销售线索、服务要求等大量列表中查找单个行项目,而不会对运营系统造成任何影响。这种高效的建模流程支持提供明细行项目的直接访问模型,以及支持更为复杂的分析流程的分析模型。
  8. SAP HANA 提供从概念到分析的高效工作流程。该工作流涵盖整个流程,从识别相关运营数据(将原始数据转化为相关信息)开始,到在模型中生成按语义分组的信息,最后是发布完成的模型。SAP HANA 与传统分析模型的主要区别在于摒弃了任何物质化的东西,即,所有模型都是完全虚拟的,均基于基本的具体运营数据计算结果。这样,模型就能够被方便的修改。
  9. SAP HANA 可以访问任何数据。当企业需要非SAP 应用程序中的运营数据,或想在现有分析模型的基础上进行扩展时,任何数据源均可作为SAP HANA 的数据基础。使用SAP BusinessObjects 数据服务组件,可以将非SAP 运营数据加载到SAP HANA 内存中,这样,企业就可以通过极其精简的流程创建一个特定业务情景的完整视图。
  10. SAP HANA 添加了易用的建模经验来进一步提高业务用户的自主性。视图遵循语义规则,将原始运营数据转化成可以理解的信息,据此,业务用户可以在基于Web的建模环境中自主地创建新分析模型。
  11. SAP BusinessObjects的商务智能分析工具可以直接使用SAP HANA内存数据,使业务用户能够全面利用其所有高性能应用程序的洞察和分析功能。但是,如果用户希望使用Excel 或其他工具和应用程序进行数据分析,那么他们可以通过MDX、SQL 等标准接口连接到SAP HANA。
  12. SAP HANA 为现有应用程序、运营系统或其他业务应用程序提供标准接口。这意味着SAP HANA 不会因为连接到现有数据源而打乱现有系统架构,并轻松利用现有BI客户端。作为一款完备的实时分析解决方案,SAP HANA 可以帮助企业尽快获得收益。

相关文章: