HANA作为内存数据库,在实现高性能访问的同时,必须也要有稳定的架构,今天我们就来看看企业部署SAP HANA时应该如何来设计数据库的架构。

HANA数据库在安装时,有以下几种选择方法,为方便大家理解,我们假设只有一个HANA节点,关于多节点的部署,我会在另一篇文章中进行介绍。

1、 一个数据库Instance,一个Schema,见上图中的(1)

在一个HANA节点中,安装一套HANA系统,一个数据库Instance,一个Database Schema,这是最常见的部署方法,不需要过多的介绍了。不过为了方便各位同学理解,这里有两个概念还是要说明一下:

什么是数据库Instance?一般教科书上都会说“Instance其实就是指操作系统中一系列的进程以及为这些进程所分配的内存块”,这么讲没错,但难以理解,我们还是举例来说,你在安装SAP的时候,系统提示你要创建一个数据库实例,这就是一个Instance,将来你这套SAP系统数据库的进程以及运行环境都是通过这个实例来统一管理的。一个数据库可中可以创建多个Instance

什么是Schema?所谓Schema是指表,视图,存储过程,序列,触发器,索引等。假如你在一个数据库Instance中创建了两个Schema,那这两个Schema中的表,视图等从权限上来看,都是独立管理的,从应用层面的访问都是隔离的。

2、 一个数据库Instance,多个Schema,见上图中的(2)

这就是我们一般说的MCOD(Multiple Components on One Database),是指在一个数据库Instance中创建多个Schema。大家都知道SAP系统一般建议三系统架构(注意:三系统架构不同于三层体系结构),也就是开发系统、测试系统和生产系统。在部署SAP系统时,如果硬件资源有限,可以考虑将开发和测试系统采用MCOD方式部署,在具体安装时,虽然开发和测试系统要有不同的,但要选择同一个,系统在安装过程中,会针对开发和测试系统创建不同的Schema。

MCOD也有一些缺点,因为采用的是一个数据库实例,两个系统之间在性能上会互相影响,在运维的时候也比较麻烦,数据库实例的启动会同时影响到两套系统的访问,所以MCOD一般不建议运用在生产环境中。

3、 一个HANA节点,两个虚拟机,见上图中的(3)

HANA也支持虚拟化管理,可以采用类似Vmware这样的技术,在一个HANA节点中建立两个虚拟机,在每个虚拟机中安装独立的OS操作系统,HANA系统以及数据库系统。现在的虚拟技术已经很成熟了,虚拟机在管理上跟实体机基本没有区别,一个虚拟机的维护包括操作系统重启等都不会影响到其他的虚拟机,而且虚拟机的CPU及内存资源也可以根据实际情况进行调整。这种部署方法的缺点是会浪费资源,因为OS操作系统会占用一些资源,一套HANA系统的安装也至少占用64G的内存。当然如果你想从OS层面就完全隔离各个系统,这还是一个比较好的做法。

4、 MDC(Multitenant Database Container)的方式,见上图中的(4)

在一个HANA节点中,安装一套OS操作系统,一套HANA系统,多个租户数据库。每个租户数据库都是一个完全独立的数据库,互相之间从数据库文件上都是独立的。这种部署方式的优点是节省资源,也可以通过建立跨租户数据库报表实现跨租户数据的访问,缺点是各个租户数据库在OS及HANA系统上是共用的,也就是说如果你要重启OS操作系统,则安装在各个租户数据库上的系统都要重新启动。

以上四种数据库的部署方式对SAP的版本有要求,如果你想要使用MDC模式,HANA的版本必须要是HANA SPS09之上。

SAP HANA数据库架构部署方法的更多相关文章

  1. 利用Veeam保护SAP HANA数据库

    利用Veeam保护SAP HANA数据库 前言 针对越来越多的SAP HANA备份需求,我们Team翻译.整理.借鉴了Veeam 的SAP HANA 大神 Clemens Zerbe 和 Ali Sa ...

  2. 如何使用命令行备份SAP HANA数据库

    SAP HANA是一个在in-memory内存中的数据平台,部署为内部部署应用. 这是一个革命性的平台,它最适合进行实时分析,并开发和部署实时应用程序. 请点击这里了解更多有关SAP HANA. 通过 ...

  3. 使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

    在表DBCON里维护一条记录,指向HANA数据库.con_ENV里填入HANA数据库的主机名和端口号.如vmXXXX:30015 DATA: ls_new TYPE DBCON. ls_new-con ...

  4. 使用 SSL 加密的 JDBC 连接 SAP HANA 数据库

    近期客户为满足安全要求,提了让业务应用使用 SSL 方式连接 SAP HANA 数据库的需求.本人查询 SAP官方文档 发现数据库支持 SSL 连接,有参数直接加到 JDBC 的 URL 后边就行了, ...

  5. sap hana 数据库 EBS

    SAP实时数据平台详解 ************************************************************ EBS是Oracle 公司对原有应用产品整合后的一个产 ...

  6. MySQL,Oracle,PostgreSQL,mongoDB,Hive, SAP HANA 数据库web维护客户端管理工具

    TreeDMS数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL,mongoDB ,Hive, SA ...

  7. 如何在云端部署SAP HANA实战, Azure 上的 SAP HANA(大型实例)概述和体系结构

    什么是 Azure 上的 SAP HANA(大型实例)? Azure 上的 SAP HANA(大型实例)是一种针对 Azure 的独特解决方案. 除了提供 Azure 虚拟机以用于部署和运行 SAP ...

  8. 【HANA系列】SAP 【第一篇】EXCEL连接SAP HANA的方法(ODBC)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第一篇]EXCEL连接 ...

  9. 【HANA系列】SAP HANA的特点总结

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA的特点总结   ...

随机推荐

  1. 安装Microsoft SQL server Management Studio Express 2005 错误码是29506解决方案

    安装Microsoft SQL server Management Studio Express 2005,安装程序在安装此软件包时遇到一个错误,这可能表示此软件包有错.错误码是29506”权限问题. ...

  2. pytest.5.参数化的Fixture

    From: http://www.testclass.net/pytest/parametrize_fixture/ 背景 继续上一节的测试需求,在上一节里,任何1条测试数据导致断言不通过后测试用例就 ...

  3. 使用R语言-为矩阵(表格)的行列命名

    转自:http://www.dataguru.cn/article-2217-1.html R语言中经常进行矩阵(表格)数据的处理,在纷繁复杂的数据中,为其行列定义一个名字变得尤为重要.在处理巨量数据 ...

  4. 把1,2,3…n*n 的数字按照顺时针螺旋的形式填入数字矩阵

    从键盘输入一个整数(1~20)则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中.例如:输入数字2,则程序输出:1 24 3输入数字3,则程序输出:1 2 38 9 47 ...

  5. rabbitmq的vhost与用户管理(转)

    原文地址:https://blog.csdn.net/leisure_life/article/details/78707338 当我们在创建用户时,会指定用户能访问一个虚拟机,并且该用户只能访问该虚 ...

  6. web项目中添加MySQL驱动

    1.我这里采用yml文件来配置,yml有配置层次清晰,方便操作的好处: 将application.properties后缀改成yml,即配置文件变成application.yml 我的applicat ...

  7. PostgreSQL 一主多从(多副本,强同步)简明手册 - 配置、压测、监控、切换、防脑裂、修复、0丢失 - 珍藏级

    参考来源: https://github.com/digoal/blog/blob/master/201803/20180326_01.md#postgresql-一主多从多副本强同步简明手册---配 ...

  8. U3D学习07-插值运算(位移与旋转)

    1.Lerp 线性插值计算.匀速移动 2.LerpAngle 线性插值计算.匀速旋转 3.MoveTowards  4.MoveTowardsAngel  5.SmoothStep非匀速移动  6.S ...

  9. jvm内存分区及各区线程问题

    一.java内存模型图 二.直观分类图 三.各区简单描述 1.堆(heap):主要存放对象的实例也包括数组,是垃圾管理的主要作用区,是线程共享的 2.栈(stack):①虚拟机栈:描述的是 Java ...

  10. 如何使用webpack打包项目

    webpack是前端开发中比较常用的打包工具之一,另外还有gulp,grunt.之前没有涉及过打包这块,这里介绍一下使用webpack打包的流程. Grunt和Gulp的工作方式是:在一个配置文件中, ...