我们将SAP HANA称为高性能实时数据平台。那么SAP HANA的创新是什么?它到底解决了什么问题?对于这些,我们将用下面的一张图简要加以说明,SAP HANA所做的创新基本上就是针对过去内存计算技术和传统数据库系统亟待解决的一些问题,如图1所示。
图11. SAP HANA混合了列式和行式技术
SAP HANA内存数据库可以设定每个数据库实例的表以行式来存储,还是以列式来存储,并且可以让一个现存的数据库表在行式存储和列式存储之间自由转换,就是说SAP HANA既支持行存储,也支持列存储和对象存储。
2. 完全不需要索引
由于SAP HANA在大部分情况下采用列式存储,所以其索引将不再需要被创建。这是因为列式存储的特点之一就是它本身就像索引一样,数据按列排列。这样不仅减少了所需要使用的内存空间,而且还可大幅提高读操作的性能。
3. 数据压缩
数据整体压缩之后,对内存数据库的性能也有了一个重大的提升。毕竟让CPU去处理1TB的数据,和处理100GB的计算量是不同的。那么SAP HANA是如何做到高比例的数据压缩,进而提升内存数据库的性能呢?使用列存储的另一大优势就是可以大大地减少数据的处理量,数据在进入到SAP HANA之后就会被进行相应的压缩。在同一个数据处理请求中,从内存传输到CPU的数据量变少,这也使得CPU能够在有效的单元计算周期内读取和处理更多的来自内存的数据。
4. 动态计算、无需聚合
动态计算、无需聚合,应该也是和SAP BW业务数据仓库或者其他的数据仓库产品非常不同的一点。“动态计算”指的是在HANA中,所有多维度的分析处理都是实时计算出来的,基于任何一个数据模型的分析查询,不管使用多少维度、钻取分析有几层,SAP HANA都不需要事先计算好所需各个维度的结果集。无需聚合(Aggregation)指的就是前面所说的不用事先计算好,自然也就不再需要聚合了。
目前使用SAP BW业务数据仓库的企业非常多。一般来说用于纯数据抽取这块所需的时间,占整个数据处理链全部时间的比例并不是很大,但是针对DSO激活的时间可能会需要花费非常多的时间,其中也包含聚合的处理和运算。
在SAP HANA中采用内存计算技术,使系统可以在每一毫秒都能扫描内存中大量的数据。正是因为有了这样的技术和速度,才使得在瞬间动态计算大量的数据变成可能。这也是为什么在SAP HANA中不需要固化层的原因,而这还具有以下诸多的优点。
(1) 更加简化的数据模型
在传统的带有固化层的数据模型下,需要创建额外的数据库表来保存这些计算好的数据。在使用动态计算代替固化的数据模型之后,更加简单的数据模型使得应用层的开发变得更加高效,而且可维护性更好。
(2) 更加简化的应用层逻辑
如果基础数据发生变化,就不再需要去更新那些聚合的数据,从而使系统性能大幅提升。
(3) 数据在更高层面有最好的一致性
(4) 永远保持着最新的聚合值
使用动态计算的方式,每次获取的值都是最新的,这样就不会发生数据的不一致情况。只要数据有更新,计算出的结果数据就会自动更新成最新时刻。一旦完成当前的事务请求,结果就从内存中释放,不再做任何的冗余存储。
SAP HANA发展历史
SAP HANA并不是SAP 公司突发奇想出来的一个产品,而是经过十几年,基于SAP内存计算技术不断进化而来的产品,在SAP推出这一高性能内存计算应用之前,SAP其实已经发布和推出了众多的产品。
从图2中可以看到SAP HANA的发展之路,TREX是SAP NetWeaver中用于对结构化信息(例如:数据库记录)和非结构化信息(例如:上传的文档、PDF、网页、论坛中各种帖子)做搜索和分类的一个搜索引擎,这个产品也一直作为NetWeaver家族产品中的一部分继续发光发热,比如和NetWeaver平台中的KM模块(Knowledge Management、知识管理模块)结合起来,设定不同的搜索权限,是否全文检索,用于快速检索企业内部信息等。图2之后,SAP又推出了SAP BWA(BW Accelerator)这个产品,在一些客户使用SAP NetWeaver BW多年之后,由于数据急速的膨胀或者不希望做适当的企业数据归档等,导致BW系统的性能逐渐呈下降趋势,BW加速器可以立即对BW中的Infocube中的数据进行加速,极大提升系统响应和性能,这是一个可以立即解决BW性能问题的解决方案。
重要的是,以上这些所有的应用技术都是基于内存计算技术的,从MaxDB LiveCache到BWA,直到SAP HANA的出现。在2010年,SAP向全球推出SAP HANA 这个产品,这是一个革命性的产品,将内存计算技术彻底推向一个全新的高度,虽然在SAP HANA之前,也有不少的类似的内存计算应用或者内存数据库的产品,不管是开源项目还是其他的厂商出于试水目的而推出的产品,但是其只是在很小范围内发布和使用,而SAP HANA是全球第一个将内存计算技术和内存数据库成熟结合发布的为企业级应用的产品。
从SAP HANA开始,SAP掀起了一股内存计算的趋势,从其他的厂商竞相发布或者开发类似的产品来看,这一之前不被其他厂商看好的领域,正在被IBM、Oracle、EMC这些厂商验证,SAP HANA高性能内存计算应用的这个思路是正确的。
SAP HANA技术路线图和发展趋势
在前面的一个章节中我们已经了解了SAP HANA是经过SAP各种内存计算不断进化而完成的一个产品,从2010年正式推出以来,已经有很多的客户在使用SAP HANA,最初的SAP HANA是以高性能的OLAP应用或者数据集市来进入市场的,这样用户比较容易接受,而且不中断客户现有的信息系统,就可以直接使用SAP HANA的高性能数据处理能力(见图3)。图31.SAP HANA的趋势
内存数据库是数据库技术的方向;高性能内存分析平台是大数据分析领域的最佳解决方案;按需定制、云计算、互联网络资源共享、社交网络分析等应用形态是网络应用飞速发达的今天必然的趋势。我们很高兴地看到,SAP HANA正在致力于这些技术热点,以“思维”般的速度提供平台的支持。
2. SAP HANA将会是一个开放的平台
SAP HANA的技术路线是一个更开放的平台,除了SAP的应用,例如: ERP(企业资源计划)、BW(数据仓库)、BPC(业务计划和合并)等系统将会陆续移植到内存计算平台。另外,SAP HANA将承载更多的企业自定义应用和互联网应用。未来我们将看到,SAP HANA是一切应用的基础,就像我们现在用“电”一样,只要有需要,SAP HANA将输送给不同的“电器”源源不断的能量,如图4所示。图4SAP HANA的关联系统架构
在这里所描述SAP HANA的架构,是SAP HANA应用以及外围软件的整体架构,以及这些组件之间的关联关系。
1. SAP HANA内存计算引擎
SAP HANA内存计算引擎是SAP HANA内存数据库的最为核心的组件,在图5中我们看到里面包含了众多的功能组件。例如:会话管理提供处理用户的请求,并且将用户的会话请求在权限管理中做授权的验证,而事务管理器则负责事务处理的管理,而实际的SQL解析和执行则在请求处理和执行控制模块中完成。图52. 数据如何复制进入SAP HANA系统
从SAP HANA的架构图中可以看到,SAP HANA对于数据源的支持是非常广泛的,对于SAP的ERP系统而言,可以使用SLT的方式来进行数据实时同步复制,目前SLT也支持非SAP系统的RDBMS,例如:用户可以基于Sybase ASE、DB2、SQLServer等自行开发应用程序。
如果用户使用ETL工具的话,而对于第三方系统的数据源,例如:Oracle、DB2或者MS SQL-Server数据库等,均可以使用BO的Data Service工具来进行抽取。如果数据源是就是普通的CSV文件,可以直接使用SAP HANA的工作台直接上传这些数据到SAP HANA的内存数据库中,然后在SAP HANA的建模视图中直接预览这些上传到SAP HANA中的数据。
其中SAP Businessts BI 4.0中的Data Service组件提供了ETL的功能,不仅支持从多个数据源抽取数据,而且可以对这些抽取过来的数据进行筛选和“清洗”,然后创建后台的进程和设定数据同步复制的时间,把这些数据同步复制到SAP IMDB中去。
3. SAP HANA工作台
SAP HANA提供了一个集中管理和监控SAP HANA系统的工具,以及一个做数据建模的工具,这两个工具是集成在一起,用户在使用的时候,只需要在建模视角和管理视角之间做切换即可。
4. 数据如何展现
SAP HANA可以根据不同的使用人群,采用不同的展示工具来最终展现这些信息,图6描述了SAP HANA的展示层的一些工具以及所面对的业务人群适用范围。
SAP HANA的展示层提供如此丰富的工具,一方面可以满足客户的在技术平台需求,另一方面是可以针对不同的用户群体提供最简单、直观的数据浏览界面。无论用户使用以下哪几种工具来显示SAP HANA的数据,均可以通过同一个访问点来访问所有这些使用不同技术而展现出来的应用。图6展现层中使用了不同的工具来展现技术,主要是因为这些信息所面向的人群不同,例如:针对企业的管理层,使用Dashboard方式展现企业的经营状态的报表,而针对高级的业务分析师,则可以使用BO Explorer 或者Web Intelligence来展现报表。
SAP HANA对企业的价值和机遇
SAP HANA是基于内存计算技术的新一代商务分析的应用,不同行业的客户应用SAP HANA处理不同的业务,但是在以下的几个共同的方面能给企业带来非常明显的价值。
即时访问,新的浏览业务的方式,让企业向迅捷型企业迈进,达到期望中的实时管理和分析等状态,即立即访问相关信息,无须漫长等待。对于拥有海量信息的企业信息化系统而言,针对性的业务分析对数据库而言无疑是有巨大的数据吞吐压力的,而SAP HANA在数据信息的查询速度接近实时,让企业管理者无需过度依赖商务智能系统(BI)计算的结果而实现的报表。
因为基于实时信息的快速反应。让企业的经营管理者可以实时地了解企业经营状态的业务数据,完全消除信息反馈延迟而带来的影响,更快速地做出更明智的决策,从而抓住潜在的商机。
1. 创造革新的应用
SAP HANA支持将大量交易与分析能力相结合的创新型应用,其可以提升商务智能,从而显著改进现有的计划流程、预测流程、定价优化流程以及其他流程;加速事务操作,实时访问,从而做出更佳决策;将实时操作数据与分析数据相结合,支持计划与预测。
2. 降低IT的负担和风险
SAP HANA系统可以显著减少硬件和维护的成本,而且基于成熟技术的内存应用部署非常简单,方便做到一致快速地部署。
3. 简化企业的应用平台架构
SAP HANA将企业的大量的应用数据从传统的ERP或者数据仓库中解放出来,并且简化商务智能的架构,让商务智能的建模基于更加扁平化,符合原来的数据库表结构,发挥数据的最大价值。其不必中断现有的任何系统,简化了应用的计算层。列存储方式最大化减少了数据的重复,减少了数据由于冗余存储而带来的多副本数据不精确的问题。
SAP HANA 提升具体业务应用的能力
SAP HANA在单一产品或者客户层面上进行快速的获利能力数据分析,使内部核算和决策制定得到改善,并且实时控制成本,更快地实现成本到位,能够及时、精确地汇报财务和运营绩效,能够快速生成总账类的各种运维报表。
在制造方面,其可以提高能源消耗的可见度,实时监控能源消耗,降低能源消耗与成本,实现运营效率与效度最大化,提高资产利用率,提高资产的可信度与有效性,降低维护成本。
1. 供应链/ 产品开发
(1) 改善库存管理,实时库存查询。
(2) 降低库存成本,加速ATP检查。
(3) 能够在销售和计划会议期间快速创建、分析多样化假设情境。使用SAP HANA +BI做快速的What If模拟数据分析。
(4) 极大地改进时效性,快速科学决策。海量数据,瞬间计算。
(5) 更为准确地进行合规性管理,降低成本、缩短研发时间。
2. 销售/ 采购
(1) 将销售报表的运算时间由数小时降低至数秒。
(2) 能够在实时数据基础上做出实时的决策。
(3) 找出不同业务单元中客户的相互依赖关系。
(4) 实时分析关键采购流程。
3. 人力资源/信息技术
(1) 按需求,“真正”实时地进行复杂的劳动力规划模拟。
(2) 在控制人员成本的同时,做出明智的决策来填补策略性空隙。
(3) 高级主数据分析。
(4) 降低总信息成本,减少冗余存储以及多副本带来的不精确性。
(5) 用户即时信息自助服务降低了所需IT员工支持,而非大量的定制化报表。
SAP HANA能够带来的优势
我们已经知道SAP HANA给用户带来的最直观的感受是什么,那就是极速和实时,从过去的几个小时,以及几十个小时的业务处理变成现在的几秒钟就能看到结果。过去从信息发生,然后加工处理,最后经过较长延时,最终才能看到变成实时的计算。从“过去发了什么”变成“正在发生什么”的业务运维状态,这些都是切实的变化。那么,应用SAP HANA能够给我们的企业和用户带来什么样的竞争优势呢?
速度能够创造价值,通过将所有数据在几秒内而不是几周或者几个月内以易懂可用的格式提供给决策人,能够提高数据智慧性、响应速度和绩效,提高性能、效率且降低复杂性:利用强大的、公认的、集成了多项技术的融合基础架构环境来简化运营流程、整合资源、随业务变化动态迁移功能,同时快速改变用户处理大量数据的方式,但不影响数据完整性或安全性。
更加快速的运行:SAP HANA通过单一系统支持分析、运营和管理工作负载,部署全新分析报表和业务应用。
更加简单的运行:SAP HANA能够帮助客户名称简化IT环境, SAP HANA产品易于部署并且不会破坏现有的应用环境。
更加智慧的运行:通过SAP HANA,可提供对大量运营数据的可视性,从而做出更加明智的业务决策;可通过实时分析和运营数据报告来加速响应业务事件。快速分析大量业务信息但不影响事务处理性能的优势。
SAP HANA提供的解决方案能够增强业务分析信息基础架构,以便提高查询效率,并且允许在海量的原始数据中加速做出明智决策,从而推动业务发展并且实时监控数据的正确性。
SAP HANA是内存计算平台,利用软、硬件一体的技术,极大地优化了数据分析的性能,而SAP Businesst4.0是优秀的数据分析、展现和深入挖掘工具,能够更深层次地发现数据背后的现实与趋势。SAP HANA与SAP Businesst4.0的结合体现了内存计算与分析工具在深层次上的新应用,这两款产品的集成应用能够为客户名称信息系统创造更新的用户体验,创造更多的应用价值。
内存计算革命已拉开序幕
如今,大部分的企业会在不同的地域开展业务,并为不同的客户群体提供服务。这会带来一系列的挑战,比如价格、销售、库存、合并、合规和截然不同的业务预期。那些业务范围更广泛的大型企业则面临着更严峻的挑战。随着企业规模的不断扩大,他们还需要跟踪不同业务领域中的海量信息,现代化的企业级应用需要及时满足这些需求。
企业级应用是指帮助企业运行业务的软件系统,它们可以提高业务流程实施的自动化程度,为规划、分析和管理等任务提供强大支持。企业级应用的主要功能在于,它能够集成和处理来自不同业务领域的数据,提供涵盖整个企业运营状态的实时视图。
在理想状态下,企业级应用能够及时向用户提供指定环境下的所有相关信息,帮助他们做出有效的决策,并支持业务部门优化运营。
企业级应用面临的挑战
企业级应用不仅要集成公司范围的信息处理,还要迎合不同范围的客户群。例如:SAPBusiness Suit是一款全球领先的企业资源计划(ERP)软件包,如今已经广泛应用于各行各业,包括零售行业、消费品行业、电信行业、银行业、工业机械和组件制造等领域。不同行业之间的差异很大,但是各行业都需要灵活快速地处理来自不同系统的数据,并且都希望企业系统能根据自己的需求量身定制。在当前系统没有包含客户需要的信息时,支持客户自主选择查询数据的方式,和扩展底层的数据表。因此,实时性和可定制性是企业软件的一个非常重要的功能。
请读清华大学出版社出版的《SAP内存计算-HANA》
内容来源:书问
书名SAP内存计算——HANA作者胡健 和轶东 等
出版清华大学出版社
定价68元