您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SAP-HANA白皮书
SAPHANASAPHANA™:下一代业务应用程序和实时分析思考间探索分析大数据SAPHANA™:下一代业务应用程序和实时分析目录4变革商业运行方式5当代企业解决方案6技术转移8SAPHANA平台概览运用新的业务数据处理方式10技术基础执行控制SQLScript表函数的计算模型并行执行13列式和行式数据存储在列式存储和行式存储中选择列式表的优势时态表16SAPHANA让业务应用程序获益17数据管理技术方式的模式转变了解更多新数据库解决方案突破了传统数据库架构的限制变革商业运作方式SAP推出了一类新的加速下一代业务应用程序解决方案。SAPHANA是一个内存数据库,将数据处理、分析数据处理以及业务逻辑处理功能组合至内存中,突破了传统交易型数据库架构中,开发支持实时业务应用的限制。近些年,我们观察到了相互关联的技术和社会变革。计算机系统处理器内核数在持续增长,以及大量整合的高速缓存。主存空间已经几乎变为无限,能够存储任何规模企业的所有业务数据。随着移动设备数量的爆炸式增加,供做出决策的信息需能够在几秒内提供。业务、风险和机会的变化需要实时跟踪,以保持企业的竞争力。依靠长期的业务经验和富有远见的研究,SAP利用先进的技术创建了构建业务应用程序新范式,即通过SAPHANA实现。SAPHANA能让您对联机交易数据结构(OLTP)执行实时联机事务处理分析(OLAP)。因此,您可以通过创建业务应用程序处理今天的需求、实时的业务洞察力,这在过去是既不可行,也不划算的。SAPHANA引入了完全不同的思考方式:从技术角度关心如何构建应用程序,而从业务角度则思考如何利用新的功能。SAP提供了一个渐进的路线图,使您的组织能够安全地探索当今日新月异的技术,在并排(side-by-side)场景中抓住机遇,为业务的增长做好准备。SAPHANA能让您对联机交易数据结构(OLTP)执行实时联机事务处理分析(OLAP)。因此,您可以通过创建业务应用程序处理今天的需求、实时的业务洞察力,这在过去是既不可行,也不划算的。.数据管理解决方案分离为事务和分析处理SAPHANA™:下一代业务应用程序和实时分析5DatamartDatabase当代企业解决方案当前业务系统的架构反映了商业解决方案漫长进化过程中的技术条件:•数据库层:数据库管理系统专门设计为优化有限主存硬件上的性能,以及低速I/O的主要瓶颈。主要集中于优化磁盘访问,例如,通过最大限度地减少在处理查询时,读入到主存中的磁盘页数。•业务程序层:商业软件利用顺序处理范例开发。目前场景中的数据表从数据库中获取,一行接一行处理,并将结果返回至数据库中。正如Plattener和Zeier在他们最近有关内存数据管理的书中讨论的,技术数据库的限制迫使数据管理解决方案分离为事务处理和分析处理:•联机事务处理(OLTP)系统具有高度规范化的数据记录数,并加快了插入、更新和删除操作的速度。这种高度标准化的缺点是,当涉及到数据查询时,由于可能需要联接多个表,这将严重影响性能。•联机应用处理(OLAP)系统开发为解决大型企业的要求,即使分析它们的数据。这些系统利用专门的数据结构设计、优化读取性能,并提供复杂分析数据的快速处理。将数据从企业的事务系统迁至分析系统,然后为预定义的报表做准备。图1展示了当代解决方案中典型的企业软件状况:大型组织拥有多个企业资源计划系统(ERP),每一个都有其运营数据自己的数据库。分析数据在批量脱机处理中整合至企业级数据仓库,供企业用户通过商业智能(BI)解决方案使用。需要根据近期(但不实时)数据生成自定义报表的业务部门,使用额外的数据集市和本地的BI客户端。图1:典型企业软件现状Corporatebusinessintelligence(BI)EnterprisedatawarehouseDatabaseLocalBISAP®ERP(orSAPCRM,SAPSRM,SAPSCM)BIDatamartSAP®ERP(orSAPCRM,SAPSRM,SAPSCM)BINon-SAPapplicationsDatamartETL*ETLDatabaseDatabaseDatabaseDatabaseDatabase*ETL=extract,transform,load对新计算模型的需求技术转移计算机体系结构发生了变化。当今的多核以及多CPU服务器提供了通过主存或共享高速缓存,内核中的高速通信。主存不再是一种有限的资源。2012年将有RAM超过2TB的服务器可供使用。现代计算机体系结构创造了新的可能性,但也带来了新的挑战。由于所有相关的数据保存在内存中,磁盘访问不再是性能的一个限制因素。2012年服务器处理器将多达80个内核,在不久的将来更将达到128个内核。随着内核数的增多,CPU将可以在每个时间间隔内处理更多的数据。这意味着性能瓶颈存在于CPU的高速缓存和主存之间(参见图2)。优化的数据库技术应着眼于优化访问存储器的处理核心。缓存内存数据的简单磁盘访问优化,可能不会产生性能上的突破。图2:硬件体系:当前和过去的性能瓶颈cPuCoreCPUcachePerformancebottlenecktoday:CPUwaitingfordatatobeloadedfrommemoryintocache为了提供当前存储器层次结构的大小和访问速度的一个直观感受,下表比较了该层次结构中不同的层(英特尔Nehalem架构中的CPU特性)。MainmemoryDiskPerformancebottleneckinthepast:DiskI/O内存类型大小延迟L1cache64KB~4cycles[2ns]L2cache256KB~10cycles[5ns]L3cache(shared)8MB35–40+cycles[20ns]MainmemoryGBsuptoterabytes100–400cyclesSolidstatememoryGBsuptoterabytes5,000cyclesDiskUptopetabytes1,000,000cyclesSAPHANA™:下一代业务应用程序和实时分析7由于传统业务的解决方案依赖于OLTP数据库,他们无法有效地使用现有的硬件。图3示展示了SAP®ERP应用的体系结构。数据从数据库层传送至应用逻辑层以进行处理。正如图2所展示的,性能瓶颈存在于主存和CPU之间。简单的将内存缓存驻留在传统数据库不再是一个解决方案。一半的CPU执行时间浪费在阻塞的原因有两个:等待数据从主内存中加载至CPU缓存中,而事实上,顺序处理的业务应用程序不能正确地使用增长的处理内核。需要发展一种新的计算模式,即集中于利用CPU高速缓存和大规模并行多核处理。图3:SAP®ERP2三层架构PresentationNativeclientMobileclientWebclientBusinesslogicDispatcherandrequestqueuemanagementSharedmemoryandcachesWorkprocess1WorkprocessnApplicationserverPersistenceDatabasemanagementsystem直接在内存中优化程序和计算SAPHANA平台概述为商业数据处理带来了新途径SAPHANA平台实现了数据处理中新的业务途径。事实上,它远远超过了数据库的传统定义,并且其性质远不只是内存中磁盘数据结构上的本地缓存。SAPHANA的概念图如图4。虽然下面讨论的许多概念可能是行业中已知的,SAPHANA具体的协同作用,利用了SAP在不同领域的专业知识,正在创建一个新类型的解决方案。完整的数据库作为后台图4:SAPHANA™平台的概念图SQLSQLScriptMDX*OtherSAPHANA,首先也是最重要的是,它集成了一个完整的数据库管理系统(DBMS):使用标准的SQL接口、事务的隔离和恢复(ACID[原子性,一致性,隔离性,耐久性)性能]和高可用性。SAPHANA支持大多数入门级SQL92。使用OpenSQL的SAP应用程序可以在SAPHANA平台上运行,而不用改变。SQL是SAPHANA的标准接口。额外的功能如自由搜索功能,被实现为SQL扩展。该方法简化了SAPHANA应用程序的消耗。分析和特殊接口除了SQL,SAPHANA通过使用多维表达式(MDX)直接支持了商务智能客户端的使用,如MicrosoftExcel和商业智能消费服务(BICS),它是SAP的BusinessObjects™解决方案的一个内部接口。对于分析规划,用户可以重复综合分析报告上的值。为了重新计算内存中的计划引擎,可以通过SAPHANA立即传送一个单一的值。并行数据流计算模型为了直接利用大规模并行多核处理器,SAPHANA对SQL的处理指令进行管理,使之成为一个优化的模型,从而允许并行执行,并极大地扩展了内核的数量。这种优化包括分区中的数据部分,在这些分区中计算可以并行执行。SAPHANA支持不同主机上的分布。为了由多个主机并行处理,大表可能进行分区。SearchAppextensionsBusinessfunctionlibraryPredictiveanalysislibraryParallelcalculationengine图5总结了英特尔团队与SAP合作执行的规模测试结果。测试表明了规模是接近线性的。使用双核的处理时间为16.8秒,使用32内核提高了1.4秒。超线程增加了一个额外的20%的改善。应用逻辑扩展relationalstoresRowbasedColumnarManagedappliance*MDX=multidimensionalexpressionObjectsgraphstore特定应用程序的逻辑延伸了并行数据流的计算模型,该逻辑在处理节点上是模型的一部分。功能语言SQLScript和命令式语言_“L”能够支持它,它可以要求SAPHANA预测分析库中的已组装程序算法执行先进的统计计算。应用逻辑的语言和概念在SAP开发者社区的内部和外部中演变成为了协作的结果。SAPHANA™forNext-GenerationBusinessApplicationsandreal-timeAnalytics9商务功能库和预测分析库SAP在具体的端口和SAPHANA内基础设施的应用程序功能业务上,充分利用了其深厚的应用专业知识,从而充分地直接在主存储器中通过优化计算和应用技术,处理利用内存中的计算。实例包括货币兑换,这是作为一个全球性的公司根本上的第一步。否则关于货币兑换的许多报告就可能利用简单的SQL,利用并行处理。另一个例子是转换业务日历:不同的国家使用不同的民用或商业日历,对一个财政年度也有不同的定义。根据任务优化多个内存存储本地的内存存储并未充分利用现代CPU的处理能力。SAPHANA的主要优化目标是在CPU不同的缓存层实现高命中率。这是通过数据压缩和适应数据存储任务来完成的。例如,当处理一行行地完成处理和消耗了大部分行内的字段时,被放置在存储器中行存储中的每一行能顺序存储提供最佳的性能。如果计算是针对单列或好几列,这些被扫描或合并到一个列式存储,其中每个列都能被顺序存储在一个(压缩)内存阻塞里,提供更好的结果。一个对象的图形存储可能从一个结构受益,在该结构中,每一个对象主体是按序列存储的。作为另一个序列存储的图表导航存储支持非结构化和半结构化的数据存储。设备包SAPHANA应用了优化,使CPU利用率发挥到了极致。设备包装可以完全控制资源和认证过程让硬件配置得到最佳的性能和可靠性。例如,SAPHANA可以自动从内存错误中自动回复,而无须重新启动系统。具有高内存的系统在统计学上对这样的错误更敏感。和一个的家电包装模型所有权的有利总成本一样,这是一个SAPHANA设计概念的基本组成部分。此外,SAP正积极研究虚拟设备和云模板,用于对SAPHANA额外的性能用例进行验证。图5:近线性刻度的实例在64核的SAPHANA™on4SNehalem-EX(2.26GHz)联接TPC
本文标题:SAP-HANA白皮书
链接地址:https://www.777doc.com/doc-4812164 .html