在移动互联网时代,不支持在云上的部署一定会落伍的,HANA作为SAP力推的技术,对云的支持也做的很不错,今天我们就来探讨一下HANA私有云解决方案,至于公有云或者混合云,思路也是大同小异了。

在介绍云解决方案之前,需要先了解一下HANA的架构,关于HANA的部署,想必稍有技术背景的同学都听说过,有Scale Up及Scale Out两种方法

场景:假设你最初安装一个512G内存的HANA服务器,运行的时候发现内存不足,需要1T的内存,需要扩容,通常扩容的方法有两种:

·           一种方法是在当前的HANA服务器上再增加512G的内存,这是Scale Up的做法

·           另一种方法是再增加一台新的512G内存的HANA服务器,这就是Scale Out的做法

那在架构设计时如何选型呢,有几点因素需要考虑:

1) 目前Business Suite on HANA或者S/4只支持Scale Up,而SAP BW两种方式都支持

2) 目前SAP认证的HANA服务器中,X86系统最大支持2T内存;小型机比如华为的FusionServer RH8100 V3可支持到4T内存。如果你要部署的是S/4或者Suite on HANA,内存要求要大于2T,就不能选择X86服务器了,SAP认证的服务器及配置如下图:

3) HANA的HA采用Standby的方式,如果主节点出现问题,服务会自动切换到Standby节点,这就要求主节点和Standby节点内存要一样。当你的HANA服务器内存不超过2T且要采用高可用性方案时,到底是选Scale Up还是Scale Out呢,这里也是有学问的,我们以上图中2T的配置为例,如果是Scale Up的方案,Standby服务器的内存也必须要2T,如果是Scale Out的方案,假设我们部署了4个节点,每个节点是512G内存,这样Standby服务器也只需要512G的内存就足够了,这种情况下,选用Scale Out资源使用率会比较高一些。

下面我们再来谈一下HANA私有云的方案,正如我在之前的文章中谈到的,云是通过虚拟技术来实现的,通过虚拟技术,将分布在多个服务器中的CPU,内存,存储等形成一个资源池,当我们需要服务器资源部署某个应用的时候,可以从这个资源池按实际需要取CPU/内存/存储资源并以虚拟机的形式进行管理。

之前我们也介绍过HANA多租户数据库的概念,假设我们有四个HANA节点做Scale Out,考虑到高可用性,其中一个节点做Standby,我们现在要在HANA上部署应用系统,由于一个节点资源不足,应用需要跨两个节点部署,如上图所示,我们可以在节点1和节点2上安装租户DB1,在节点2和节点3上安装租户DB2,这样租户DB1和租户DB2相当于两套独立的数据库。

在底层系统上,只安装一个HANA System和一个Hana System DB供多个节点共同使用,考虑到HANA system DB的高可用性,我们可以在每个HANA节点上都安装一个HANA System DB,正常情况下只有一个HANA System DB是激活状态,其他的都做Standby,这样做的好处是只要有一个HANA节点正常工作,就可以在这个节点上激活HANA system DB。

通过以上方式,将多个HANA节点(目前HANA Scale Out可以支持到16个节点)组合起来形成一个资源池,从而实现在云上的灵活部署,。

HANA私有云解决方案的更多相关文章

  1. SAP公有云和私有云解决方案概述

    SAP公有云解决方案见下图最右侧,比较著名的有SAP SuccessFactors和SAP Cloud for Customer(C4C)等,作为SAP软件即服务(SaaS)的解决方案. 而最左侧的S ...

  2. OpenStack 企业私有云的若干需求(10):OpenStack 的前景和钱景

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  3. 恒天云 3.0:打造基于OpenStack的私有云新模式

    摘自恒天云官网:http://www.hengtianyun.com/download-show-id-17.html 云计算在当今IT世界中已发展地如火如荼,越来越多的企业利用云计算改造传统的数据中 ...

  4. VMware与宿敌Amazon一笑泯恩仇:重新定义混合云?(私有云节节败退)

    摘要: 私有云巨头VMware看来是真的要输给一个“书贩子” 了!这意味着私有云将败给公有云? [阅读原文] 三年前,虚拟化巨头VMware曾对亚马逊Amazon云服务AWS竖过中指:我们怎么可能打不 ...

  5. OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV

    自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...

  6. 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云

    CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...

  7. OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

随机推荐

  1. supervisor的安装部署及集群管理

    supervisor的安装部署及集群管理 supervisor官网:http://www.supervisord.org/ 参考链接: http://blog.csdn.net/xyang81/art ...

  2. php限制文件下载速度的代码

    有时候你会出于某种目的而要求把下载文件的速度放慢一些,例如你想实现文件下载进度条功能.限制下载速度最大的好处是节省带宽,避免瞬时流量过大而造成网络堵塞.本文将和你分享如何通过php代码来实现限制文件的 ...

  3. 【java】运算符

    Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=   ...

  4. TensorFlow:tf.nn.max_pool实现池化操作

    tf.nn.max_pool(value, ksize, strides, padding, name=None) 参数是四个,和卷积很类似: 第一个参数value:需要池化的输入,一般池化层接在卷积 ...

  5. CI 数据库操作总结

    最简单示例 $query = $this->db->query("YOUR QUERY"); foreach ($query->result() as $row) ...

  6. 查AIX 版本和系统参数

    查AIX版本 atii:[/home/pmts]oslevel -s 7100-01-07-1316 即AIX 7.1版本atii:[/home/pmts]lsdev -C 查CPU个数 (逻辑数目) ...

  7. pandas的离散化,面元划分

    pd.cut pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=, include_lowest=False) ...

  8. 将Json对象数组转化成JS Array数组

    private format(cards:any):Array<any>{ var result = new Array(); cards.forEach(element => { ...

  9. webpack学习总结(一)

    * webpack安装 1. 安装最新node,node自带npm包管理器: 2. 全局模式安装webpack(只有将webpack在全局模式下安装才能在命令行直接通过webpack执行命令) $np ...

  10. 单元素枚举类型singleton模块

    public enum Elvis { INSTANCE; public void leaveTheBuilding() { System.out.println("Whoa baby, I ...