根据SAP的字面意思理解,SAP HANA是硬件和和软件组合起来一个解决方案,容许客户分析大量的数据,而且是以接近Real Time的方式来同步数据,不需要花费太多时间在数据传输上,目前HANA的版本是1.0.
集成了一些SAP的组件,比如IMDB(In-Memory Database), Sybase的Replication 技术,以及SAP STR(Landscape Transformation Replicator)等等。
SAP HANA作为一种第3方硬件合作伙伴共同合作而优化打造的应用,目前支持和认证的硬件厂商,包含HP, IBM, 思科, 富士通,戴尔5家合作伙伴,据说给联想LENOVO做的HANA方案,是使用的联想自己的服务器,应该也可以。但是不在SAP通用实施的合作伙伴范围之内。
关于IMDB
SAP IMDB(In-Memory Database)是一个内存数据库的混血儿,不仅包含行存储,也包含列存储,而且还有机遇对象存储的数据数据库技术,这么设计的主要目的是用来充分挖掘和使用现代多核CPU架构设计所带来的并发处理能力,毫无疑问,SAP的这种应用能从中受益颇多。
IMDB是SAP HANA的核心,用来帮助客户提升运营效率,敏捷而且灵活,下图来自SAP HANA的Technology of Manual中图片。
IMDB支持多种数据源,目前支持3中数据replication方法,并且提供了一个管理界面,这边叫admin studio,一般的监控和新modeling都可以在这里实现。
然后支持2种客户端,查看基于内存存储而产生的报表。
SAP HANA Replication Technologies-数据复制技术
SAP IMDB所产生报告和分析所需要的业务数据是需要从源系统复制到SAP 的IMDB. 具体怎么复制这里现在提供了3中方法,在看具体有那3中方式之前,先看这个IMDB的核心中有哪些会参与到数据Replication的场景:
· SAP HANA由IMDB和IMDB Admin Studio组成,UI主要用来管理hana的应用装置,有点类似BO的仪表盘界面
· Source System,例如ERP
· 用于支持数据复制的软件组件
Trigger-Based Replication
这里暂且称呼为实时模式,虽然也需要一个Landscape Transformation Replicator,实时扑捉SAP ERP的数据库系统的修改变化,然后几乎是是实时的就同步到HANA中,这个Replicator可以直接安装在ERP上,比较方便,也可以独立的安装在一个服务器中,也用于扑捉实时ERP的数据库修改变化。
ETL Based Replication
这里暂时称呼为BO模式,需要用到BO的Data Service组件,意味着需要有BO,优点是可以对抽取的数据做合并和加工处理,支持多数据源和多目标系统
Log Based Replication
这里暂时称呼Sybase模式,因为这种模式对于数据的要求是有依赖的,而前2种都是独立于任何任何数据库的,一般不推荐使用(SAP官方说法),除非客户制定使用这种方式。
所以一看数据复制技术的排序方式,就知道了,肯定是重要和好的放在前面,这就像在支持硬件中,HP惠普排名第一一样,总不能以上来就直接吧LOG BASED 复制技术,放在第一,然后跟着说这种方式不推荐吧!所以拍大腿也知道,前面两种是重点对象。
详细对比,SAP HANA TOM上有详细描述,3中方式各有千秋,看你的的业务需要什么样的模式了,这里不谈好坏,只谈差异!
下面看看HANA的其他的一些话题,例如安全和备份恢复的问题,硬件选择等等。
架构篇
原文地址:http://LiuAlex.com/archives/1776
也是刚刚开始学习HANA的一些知识,一边看书一遍做笔记,说到底无非是用自己的语言来理解标准帮组文档所讲解的意思,肯定有理解失误的地方,毕竟没有参加过标准培训,即使有培训,从老师那边来的知识也不可能是完整的传授过来,中间多少的知识遗漏是正常的,所以多看看HELP的文档,应该可以原汁原味的理解作者的意思。
这张图片是从SAP HANA的PPT上剪辑下来的,主要包含了SAP HANA的应用架构和在应用中会涉及到一些周边软件环境。
HANA架构下的亲戚关系
· IMCE Studio用于HANA的系统管理,以及信息建模(各种维度,KPI等)
· ERP这里指的是一般的数据源,会从ERP过来过来的业务数据
· BO BI4BO的BI 4.0平台,主要提供ETL的核心功能,源系统数据导入,删选/合并/格式化数据,再导入目标系统
· Other Source System其他的数据源,由于BI的
· In-Memory Computing EngineIMCE的核心组件部分)
· Clients客户端的工具,用什么方式浏览工具(查看报表或者查询),或者用什么工具来展现数据(报表设计工具,是用Explorer还是用Web Intelligence, 或者用Crystal Report也是可以的,这里不多加描述)
和数据导入相关的
· Modeling 工具中可以创建数据库表
· Replication Agent(这里可能是使用SLT实时同步的情况下),可以安装在ERP中作为一个但单独的组件,监控应用层的数据库修改,然后可以同步到HANA的数据库
· Data Service Designer用来创建数据的source,以及target, 可以做mapping,作为ETL的工具,比如创建定时的作业,这样可以定期的从source system抽数据,然后导入到HANA的数据库中
· Data Service是服务器端(虽然使用DS作为ETL的工具,然后DS依然需要一个数据库来支持,注意!不是用来存储从ERP来的数据,然后传输到HANA中,是用来保存一些mapping关系的资源库)
数据建模的相关亲戚成员
· 同样,Modeling工具(就是HANA的Admin Studio),用来创建数据模型,Attribute View,Analytical View,Calculation View,在Modeling工具中可以直接查看HANA中数据库表,也可以创建表等。
· Meta Data Manager
· SBO Information Design Tool, 比如创建一些Business Layer,然后发布成Universe,这样其他的BO的报表设计工具就可以使用这个基于Universe的数据模型了,然后开发出查询报表,等等。
· Data Service Designer,除了帮助load 数据之外,它提供了
和报表相关的
· MS Excel – BI Analysis for MS-Office Edition, 是个插件用来浏览报表用的
· BI4 – Web Intelligence 可以用来做基于Universe发布的报表,稍微比Explorer灵活点
Administration - 管理
· HANA的维护管理
例如备份和恢复都是在IMCE Studio里面做的,和Information Modeling同一个界面,只是切换到管理视图的话,就可以看到用户,角色,schema等,以及HANA的服务的一些系统状态。
· Persistence Layer持久层
HANA的服务器中用于储存数据的非闪存空间HANA中的数据都是保存在内存中的,一拉闸停电,数据就没有了,虽然服务器掉电的情况发生很少,但是这里还是解决了这个问题,当然不是专门为停电而解决的,比如数据库休克了或者HANA服务器死机了,必须重启的情况。它有以下的功能 记录Log信息,包含last save point和因为停电而没有写入数据库中的那些log信息。
这里可以看到从HANA的内存写到Persistence Layer的数据,包含了2个部分:Data和Log,这个过程是持续不断的过程,当然中间有一定的时间间隔,其实Persistence Layer就是HANA的内存数据库的某个时点的一个完整的镜像拷贝,以及这个拷贝之后所所有发生的数据库更新的Log信息(在停电前成功执行完毕的)
为什么不直接写入磁盘保存呢? 因为HANA基于内存数据库(newDB),这种实时数据同步操作或者实时数据的更新是很快的,但是磁盘的读写速度往往和内存的速度有差异,为了解决这个问题,在硬件层面提供了一个闪存(即使断电,还有数据,有点像快速缓存,这个闪存有2~4 TB左右)用来同步保存内存数据库中的log信息,并且生成Save Point,然后写入真正的持久的磁盘存储。
· Disk Storage, 硬盘/固态存储
Disk Storage用于保存和备份HANA的数据库,因为Persistence Layer的容积是有限的,所以HANA的备份都是放在外部的物理存储的,比如高速率的硬盘或者其他的设备。在备份数据和恢复数据的时候会用到,比如重启服务器。
备份是从Persistence Layer到Disk,原因上面已经解释了,为了不影响HANA的运行,以及读写速率差异的问题。备份可以设定时间,比如每天一次,还是一周一次等。
注意:
文中特别之处,当前的版本1.0(SP12)不支持Log的备份以及Configuration文件的备份,这些必须手动的拷贝出来备份,下个一个版本应该会解决这些问题。
Backup & Restore 备份和恢复
数据备份,从Persistence Layer备份到外部的存储系统,自动化处理工具:IM Computing Studio 中有备份和恢复的功能可以使用log备份, 暂时没有自动化,需要手工,不是体力活哦Configuration 备份,没有自动化,需要手工,具体的系统恢复的话,需要:
· 最后一个SAVE POINT
· 以及发生在这个save point之后成功被写入持久层的关于DB更新的log(不可以是损坏的文件)
恢复到什么地方到,看上面图片,红线之前的数据库的状态能全部还原。
版权归原作者所有,如有侵权请联系删除。
更多资讯,欢迎扫码了解关注