HANA技术建议书Word格式文档下载.docx
- 文档编号:17167281
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:30
- 大小:992.11KB
HANA技术建议书Word格式文档下载.docx
《HANA技术建议书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《HANA技术建议书Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
根据任务优化多个内存存储
本地的内存存储并未充分利用现代CPU的处理能力。
SAPHANA的主要优化目标是在CPU不同的缓存层实现高命中率。
这是通过数据压缩和适应数据存储任务来完成的。
例如,当处理一行行地完成处理和消耗了大部分行内的字段时,被放置在存储器中行存储中的每一行能顺序存储提供最佳的性能。
如果计算是针对单列或好几列,这些被扫描或合并到一个列式存储,其中每个列都能被顺序存储在一个(压缩)内存阻塞里,提供更好的结果。
一个对象的图形存储可能从一个结构受益,在该结构中,每一个对象主体是按序列存储的。
作为另一个序列存储的图表导航存储支持非结构化和半结构化的数据存储。
执行控制
SQL脚本,MDX和规划引擎接口可以被看作是域特定的编程语言或模型,可以用来和SAPHANA互动。
其特定的编译器的工件在不同的域特定语言中被翻译成常见的表示方法,我们称之为“计算模型”。
计算模型是一个有向非循环图,箭头代表数据流和并表示操作的节点。
这种方法和循环的排斥、递归使自动的大规模并行处理成为可能。
SQLScript
SQLScript组成的SQL查询和函数调用的函数可以表示无环数据流图。
在“L”语言实现的这些功能通常转化为只包含一个转换节点类型“L脚本”的计算模型。
在某些情况下,为了嵌入SQL查询和必要的代码序列节点,可以与在创建SQL节点的同时,创建一个更复杂的图表。
并行执行
SAPHANA被设计为能在可用内核的数量,和跨越主机分配使用的并行执行上很好地进行扩展。
具体而言,多核平台的优化解释了以下两个关键因素:
▪只要允许并行机执行的部分,数据就可能被分区。
▪可以避免的顺序处理包括寻找替代方法,如线程锁。
并行聚合
SAPHANA进行聚合操作在节点内的共享内存架构上,产生了一定数量并行行动的线程,这些线程能平等获得该节点上的内存数据。
每个聚合函数在循环的方式如下:
1.获取输入关系的一个小分区
2.聚合该分区
3.重复步骤1,直到处理完成一个完整的输入关系
每个线程都有一个独立的哈希表,编写自己的汇总结果。
聚集线程结束时,缓存的哈希表被合并到使用范围分区的合并线程中。
每个合并线程对一定范围负责。
HANA数据安全性
SAPHANA数据库存在一个共存的数据持久存储逻辑层,所有的业务数据不单存储在内存里面,还会同步保存在硬盘驱动器里面,SAPHANA数据库具有日志记录功能,数据库的每一笔交易的记录和操作数据会保存到数据持久存储逻辑层中的数据存储区和日志存储区里,日志存储区的日志卷会使用高性能的固态闪存存储介质和技术,提供高I/O性能和低延时存储效果,保证数据的安全性。
存储模式
在单个数据库系统中同时支持行存储和列存储,使SAPHANA更加适合于混合负载方式的系统应用架构。
批量数据读取
除了支持事务型的数据插入,HANA还支持内存中的批量加载,这种模式能够实现在HANA中写入大量数据而无须耗费事务资源的开销,支持极高的数据加载负载。
多核与并行化
充分利用多核大内存架构的硬件体系所带来的优势,在软件层面来管理CPU线程,将并行化处理做到极致,每个HANA服务器节点只访问本地内存。
对于并行化数据处理,为了均衡利用所有的计算资源,可以在每个节点上设置对数据处理的线程数。
数据分区
对海量数据可以进行垂直和水平切分,将数据均匀地分布在HANA集群每个服务器节点上,最大限度利用所有的系统计算资源。
如果后期重新进行数据分布,基于内存计算技术的数据重分布将比使用传统技术更快。
内存数据压缩
在内存中对数据进行压缩,在单位时间内可以更快的向CPU传输数据,并且CPU更快地处理数据,例如数据扫描和数据聚合。
数据处理引擎
支持行存储、列存储的SQL访问,也支持行存储表和列存储表之间的做关联计算。
无需聚集
无须物化视图和聚合表,使用动态聚合技术,基于最明细的数据进行建模,不生成物理的中间计算结果值,彻底抛弃物化视图的冗余存储,解决数据的多版本不一致问题。
简化软件系统架构,去除物化视图,减少数据冗余,在高性能数据库中实现应用层的业务计算等。
1.1.2投标产品的主要技术指标
主要指标
描述
备注
数据库大小
无限制
数据库最小内存要求
24GB
安装时系统检查
单机数据库内存大小限制
2TB
单机的内存限制可以通过服务器聚合解决,目前HDS、HP都提供这样的硬件
集群节点规模限制
100节点以上
支持的最大非分区表记录数
20亿
大于20亿条记录的表需要分区
表支持的最大记录数
单个表允许的最大列数
大于5000
Flexibletable
列表数据压缩率
4~20
取决于数据本身压缩率有所不同,海关实际业务中压缩率为4.8倍
支持分区最大数量
1000
LOB字段最大大小
2GB
每个表最大的触发器数量
1024
锁数量
行级锁无限制,表锁最大16384
最大会话数
65536
单机
1.1.3产品配置清单
产品名称
型号
单位
数量
实时内存分析数据库
SAPHANAOEMLEAEdition
套
SAP企业技术支持
SAPHANAEnterpriseSupport
年
1.1.4SAPHANA产品介绍及技术说明
SAPHANA是企业基于内存计算技术的高性能实时数据计算平台,是全球一个发布商用的基于内存计算的产品,通过SAP内存计算技术优化应用,转变人们的思考、规划和工作方式。
SAP提供一系列前所未有的新型企业应用,其中结合了大量交易与实时分析能力,能够显著优化现有的计划流程、预测流程、定价优化流程等数据密集型流程。
借助SAP内存数据库,充分发挥实时数据的潜力。
SAP内存数据库采用改进的数据压缩、多栏式数据存储和内存计算技术,支持新一代企业数据管理。
基于SAP内存工具的创新型业务分析功能可使您获得洞察力。
作为一款灵活、多用途且与数据源无关的内存工具,SAP内存工具(SAPHANA)整合了通过硬件(由SAP领先的硬件合作伙伴提供)进行优化的SAP软件组件。
借助SAPHANA,企业能够根据大量实时的详细信息分析业务运营状况。
HANA不是一个数据仓库,而是一个平台,在这个平台之上用户可以构建数据仓库或集市、报表和仪表盘等。
SAPHANA能做的,首先是作为内存数据库,提供数据插入、修改和高效的查询功能。
其次,作为一个平台,在HANA之上,BI系统可以提供更好的用户体验–用户几乎不需要等待数据返回。
SAPHANA提供多用途的内存应用设备,企业可以利用它即时掌握业务运营情况,从而对所有可用的数据进行分析,并对快速变化的业务环境做出迅速响应。
通过SAPHANA,企业可以在业务运作期间基于海量实时详细信息分析业务运营情况。
企业可以探索和分析来源于所有数据源的全部交易数据和分析数据。
运营数据在产生时由内存获取,并通过灵活的视图迅速将分析信息呈现给用户。
外部数据可轻松的被添加至分析模型,与整个企业的数据进行整合。
1.1.5HANA产品的详细性能说明
1.1.5.1大数据量存储特性
SAPHANA是一个基于行存储和列存储,以及对象存储的最先进的数据库技术的混合应用,这样设计的主要目的是用来充分挖掘和使用现代多核CPU架构设计所带来的并发处理能力,毫无疑问,企业应用程序能从中受益颇多,SAP内存数据库是整个HANA应用的核心组件。
HANA单机服务器目前支持最大4TB内存的单台服务器,当客户需要分析更多的数据时,使用多台服务器横向扩展的方式,目前测试通过的集群达到100台总共100TB的内存,支持的原始数据量达到PB级别,而且因为HANA采用的是Sharenothing的体系架构,理论上是集群没有上限,所以HANA对于大数据的存储支持将会非常好,企业可以根据自身的数据量将HANA整体可用容量做到按需扩展。
基于列式数据库的天然优势,HANA具有极高的数据压缩比,取决于客户实际数据的不同,HANA数据表具有高达7-20倍的压缩率。
而且列式存储基本上可以不用在数据库表上建索引,这样可以去掉很大的索引空间。
HANA通过先进的数据压缩功能和列式去索引化特点,可以很好的做到对大数据的有效地存储。
1.1.5.2性能特性
SAPHANA使用的是内存计算技术,数据的主要的存储和运算都在内存中完成,去掉了一直困扰数据库性能的I/O问题,所以相对传统的磁盘数据库,天然具备高效计算的优势。
HANA数据库提供灵活的存储方式,可以针对不同业务符合的类型,采用最适合的存储方式,例如,在OLTP场景采用行式存储,在OLAP场景采用列式存储。
在数据仓库系统中使用列存储方式,数据列可以按查询的需要被任意检索,避免行式数据库必须一次读取表中所有列带来的无谓开销。
HANA数据库引擎可以利用服务器多核处理器的特点,并行执行查询语句。
同样,在多台服务器架构下,HANA可以将查询语句在多个服务器上同时运行,以提高系统整体利用率,加速业务响应。
1.1.5.3负载均衡特性
SAPHANA在多机运行的情况下,采用的是分布式计算的理论,有着比较经典的MapReduce的特点,可以将大数据块以非常智能的算法拆分成小数据块,分布在不同的机器上进行负载均衡,充分发挥多机和多核的特点,并行计算来达到一个很好的计算性能。
目前,SAPHANA的研发过程中和硬件合作伙伴保存了非常紧密的协作,整体的体系架构基于IntelX处理器平台支持多服务器、多处理器的高效并行处理。
首先在底层开发中,Intel为SAP提供专门的开发包,让HANA的应用能够最高效、充分的利用多处理器的并发能力。
HANA在应用层的架构设计上也能够将数据处理和运算拆分并部署到多个处理器。
例如计算引擎可以将数据模型拆解,将一些SQL脚本拆分成可以并行执行的步骤。
这些操作将递交给数据库优化器来决定最佳的访问行存储和列存储的方案。
在系统的部署架构层面,SAPHANA可以部署到多台集群的硬件服务器,保证系统的负载均衡。
1.1.5.4混合应用OLTP+OLAP
SAPHANA支持将联机交易系统(OLTP)和联机分析系统(OLAP),使这两种应用可以在一个统一的平台上得到实现。
目前SAPHANA支持的数据存储方式有行和列两种。
传统来看行存储的数据方式比较适应交易型系统,而列存储的方式比较适应分析型系统,所以就传统意义来看,SAPHANA已经可以很好地支持交易系统和分析系统。
而且,在HANA数据库中,行表和列表的数据存储方式是可以互相转换的,同时它对数据访问接口都是一致的,所以这样就可以更好地适应企业应用系统的变化。
比如,当企业业务系统刚刚上线的时候,数据量不大,用行表的存储方式能非常好地满足要求,但当业务系统中的数据量变得很大的时候,发现整个业务处理过程中的读数据变成了性能上的瓶颈,这时候可以通过底层的表的存储方式的改变,将行表换成列表,来达到整个业务处理的性能的大幅度提升。
除此之外,SAPHANA在列式的数据的写方面与传统的列式数据库也有很大的不同,通过在写的过程中增加变量内存(如下图所示),来达到在写的过程中不影响主内存,从而大大地提高在列式存储的时候写的性能。
如上图所示,每次在写的过程中,数据都会往变量内存(Delta)区域写入,系统会异步地将变量内存中的数据与主内存(Main)中的数据进行合并,来达到大的数据压缩比并提高读的性能。
在内存合并的过程中,对数据的访问和写入都是可以正常完成的,如下图所示,在内存合并过程中,HANA内部会再创建一个新的主内存区来完成内存合并,同时生成新的变量内存区来满足写的数据写入的要求,这样达到数据的有效合并和新数据写入双重的要求,达到系统性能和稳定性的满足。
1.1.5.5高可靠性
SAPHANA支持带有failover节点的高可用性解决方案。
当集群中有一台机器节点因为硬件故障或其他原因不能工作的时候,系统中的主节点会监测到故障节点发生的位置并指定另一台备用(Standby)节点来接替故障节点的工作,来达到集群系统的稳定运行。
如下图所示,节点A,B,C都为系统中的工作节点,而A节点充当了主节点的功能,三个节点都是共享的数据区,只有工作节点A和B有自己的数据区,当B节点出现故障的时候,主节点A会监测到B节点的故障,然后启用C节点来工作并接替B节点的数据区,来达到系统的稳定运行的目的。
当然,目前在HANA的集群系统中,可以有多个主节点,所以如果在下图场景中如果A节点出现故障的时候,B节点也可以接替主节点的功能并完成如下一系列的系统的调度工作,最终使整个系统能一直稳定地处于运行状态,给企业提供一个企业级的应用和服务。
目前SAPHANA已认证通过的节点有56个(每台机器最多1TB内存),测试通过的节点达到100个,这样通过大比率的数据压缩比,HANA能支撑的原始数据量将会非常大。
而且目前SAPHANA中的工作节点和备节点的数量是可以自由调配的,这样可以不满足不同的企业对高性能的需求。
SAPHANA除了上述描述的一些典型的特点外,目前HANA在数据库的开放性,安全性,系统接口和非结构化数据的支持方面都有很好的支撑。
v可扩展性
SAPHANA支持纵向和横向的扩展,灵活的满足由于数据量,并发用户数查询负荷增加带来的扩展性需求。
在服务器硬件配置不能满足业务需要的情况下,可以通过增加服务器CPU,内存的方式实现纵向扩展。
在单台服务器硬件无法继续扩展的情况下,可以通过多台服务器组成一个大的服务器集群的方式,实现系统横向扩展。
v开放性
SAPHANA是一个开放的关系型数据库平台,支持ANSI92SQL行业标准和MDX多维分析语言,支持ODBC/JDBC数据库接口,可以满足客户灵活的开发需求。
v
安全管理
SAPHANA提供了非常完备和灵活的安全管理策略,实现灵活的权限控制和管理,包含了以下的部分:
▪用户和认证管理
▪权限管理
▪网络和通讯的安全管理
▪数据存储安全管理
▪安全日志记录和跟踪
SAPHANA中得用户和角色的设定,能够保证完整而精确的控制用户的任务访问,你可以在HANA中完成以下的任务:
▪创建用户
▪创建角色和角色层级关系
▪分配权限给角色或者用户
▪维护用户的角色,或者维护角色
▪分析性角色的建模和维护
v系统管理
SAPHANA提供可视化的数据管理建模工具HANAStudio,实现数据分析模型与数据库的完美集成,提高数据仓库开发、优化和管理的效率,提升运维效率。
HANA通过数据库本身提供的备份/恢复机制,可以选择将数据库恢复到备份时间点,或最新的数据一致点,或是指定某一时间点。
v数据接口
SAPHANA是一个开放的关系型数据库平台,支持ANSI92SQL行业标准和MDX多维分析语言,支持ODBC/JDBC数据库访问接口,可以满足客户灵活的开发需求。
HANA还提供可视化的数据管理建模工具HANAStudio,实现数据分析模型与数据库的完美集成,提高数据仓库开发、优化和管理的效率,提升运维效率。
HANA可以通过BI展现工具,Excel工具,对海量数据动态分析,深度挖掘。
可以通过不同的展示工具为不同目标群体的客户来展现这些信息,例如:
针对企业的管理层,使用直观的仪表板方式展现企业的经营状态的报表,而针对于高级的业务分析师,则可以使交互式查询方式来展现更加明细的企业数据。
HANA可以采取数据库导入工具,ETL产品,和实时数据复制的方式加载来自主流数据库,外部文件,以及非结构化大数据等各种数据源的数据。
v非结构化数据支持
SAPHANA支持在数据仓库中存放,检索,更新结构化数据和非结构化数据,
包括视频、音频、图像、e-mail、电子表格、txt文本、word文档、网页等内容,并通过SQL方式进行精确或模糊条件的检索。
v锁机制
SAPHANA作为关系型数据库,提供完善的锁机制和隔离级别,实现交易的原子性,一致性,隔离性和持久性(ACID)。
HANA自动根据语句的请求实现记录的行锁或者表锁,保证访问的高效和安全,HANA支持多种隔离级别。
1.1.6HANA产品总体技术优势
内存计算:
内存作为主存储,不再仅作为数据库的缓存。
数据库性能较传统数据库有本质提升
行、列混合引擎:
同时支持交易型和分析型运算
平台开放:
采用开放的X86架构和Linux操作系统,不再依附于单一的硬件平台
多数据处理引擎:
执行计划能够选择适当的数据处理引擎,包括行引擎、列引擎、OLAP引擎等,能够进行混合处理
MPP架构:
基于Share-Nothing的分布式数据处理架构,非常适用于部署大规模集群
无需索引、物化视图等实体结构:
HANA不需要索引、物化视图等数据冗余结构和中间环节提升性能,却而代之的是所有结果都在明细数据基础上生成。
与异构数据库实现透明集成:
HANA支持SDA(SmartDataAccess)技术,可实现与Oracle、SQLServer、SybaseIQ、Hadoop等数据的透明集成。
支持高并发分析查询:
HANA能够以更快的速度处理复杂的分析计算,在加上HANA的分布式处理架构和多线程并行处理机制使得HANA数据库能够支持更高的并发分析查询。
1.1.7投标产品主要功能介绍
1.1.8SAPHANA第三方测评
在2014年4月Gartner企业数据仓库魔力象限中,SAP处于领导者地位,如下图所示:
而在Gartner认为SAPHANA是让SAP在领导者象限中重要的原因,其自从2011年问世以来,发展迅速,已经有了2000余名客户,而其越来越成熟的表现,让更多的客户在大数据解决方案中考虑SAPHANA。
1.1.9SAPHANA技术彩页
1.1.10SAPHANA检测报告
根据研究机构IDC最新发布的调查报告,SAP的数据库业务在过去一年中保持了最快速的增长,收购Sybase两年之后,SAP凭借HANA的强势,已经坐稳数据库市场第四的位置。
IDC的数据显示,SAP数据库业务在2011年中增长了44%,同时数据库市场份额提高了3.9%,数据库收入也从2010年的6.97亿美元增长到了10亿美元。
在IDC最新出炉的RDBMS调查报告中,他们将SAP的增长归结为HANA内存数据库的表现良好,SAP在今年发布了明确的数据库发展路线,已经将SybaseASE、SybaseIQ、SQLAnywhere和HANA等产品进行了充分的整合,目前SAP在数据库市场中的实力已不容小觑。
IDC预测5年之内,基于内存的技术将取代传统的磁盘。
而像大数据这样概念的兴起,也为传统的数据库技术提出了更多的挑战。
1.1.10.1测试简介
100TB性能测试旨在证明SAPHANA的高效性和可扩展性;
企业运用大型数据库中的数据进行运营分析时,SAPHANA能够帮助企业轻松提升实时商务智能的分析性能。
以下将分别介绍测试环境,并提供和分析测试结果
1.1.10.2测试环境
性能测试环境旨在搭建一个销售与分销(SD)智能商务查询环境,为大量的结构化查询语言(SQL)和业务用户提供支持。
数据库模式
下图1.18-1中的星形模式设计显示SD测试数据环境和每个表的基数。
此设计中不使用手动调优结构;
没有索引、物化视图、汇总表或其他为实现更快查询性能添加的冗余结构。
图1.18-1SD模式
测试数据
测试数据包括一个大的数据表和几个较小的维度表,如图1中所示。
仅在数据表中就有1千亿条记录,代表5年的SD数据。
数据使用“Customer_ID”在16个节点进行平均哈希分区,然后在每个节点,将数据按月份分区。
这样,每个节点会有60个分区,每个分区约有1.04亿条记录。
(另请参见图1.18-2和“加载”部分。
)
系统配置
测试系统配置(图1.18-2)是一个配有8TBRAM的IBMX5服务器的16节点群集。
每台服务器有:
∙4个CPU,每个CPU有10个内核,每个内核有2个超线程,合计:
▪40个内核
▪80个超线程
∙512GB的RAM
∙3.3TB的磁盘存储
图1.18-2测试配置
设置
这些性能测试没有使用结果的预缓存结构或任何手动调优结构,因此,这能够验证SAPHANA“加载即能查询”的能力。
一种完全没有调优结构(内部或外部)的设计对建立可持续发展的实时商务智能环境非常重要;
这种设计不仅能够加快实施过程,还为即席查询提供持续的灵活性,同时省去了调优结构的维护成本。
加载
使用SAPHANA中的“IMPORT”(“导入”)命令,可以并行完成加载,该命令是一个单独的SQL语句,用来指定要加载的文件。
加载过程将自动在所有节点并行处理,并使用每个数据表定义的先分布后分区的模式3(在这种情况下,指哈希分布和按月分区)。
测量的加载速度为每分钟1600万条记录,或每个节点每分钟100万条记录。
这种加载性能足以在短短六分钟内加载1亿条记录(代表一个工作日的活动)。
压缩
数据压缩在数据加载过程中进行。
SAPHANA的压缩率4比SD模式的压缩率高出20倍;
将100TBSD数据集压缩成一个3.78TB的SAPHANA数据库,但是群集中的每个节点只被占用了236GB的RAM(见图1.18-2)。
在100TB的数据集中,大数据表占用了85TB,大数据表经压缩后所占用的空间不到每个节点可用RAM的一半。
查询
查询套件共有20个不同的SQL查询,包括11个基础查询外加一系列时间间隔(月、季度等)。
所选查询代表在原始形式数据(即没有索引、调优或采用其他非规范化方法以避免连接,这些都是传统数据库中的惯例)上运行的混合工作负载环境。
它们涵盖一系列商务智能活动,从部门到企业级别,包括:
∙常规报告
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HANA 技术 建议书