HANA的可扩展性

可扩展性

HANA支持Scale-Up和Scale-Out。

Scale-Up(纵向扩展)是指在计算单元内增加资源。而Scale-Out(横向扩展)是指添加其它的计算单元,并逻辑上形成一个整体。

纵向扩展(Scale-Up)

最常见的纵向扩展方式就是添加CPU(内存也相应添加了),也即NUMA架构。由于每个socket都有自己的内存控制器,访问本地和远程的内存性能是不一样的额,因此称为Non-Uniform。

软件方面,与NUMA配合的特性为并行执行(parallelism),或任务分派(dispatcher)。

横向扩展(Scale-out)

是将系统扩展到多个服务器,而非一个更大的单服务器。

多个服务器(节点)形成逻辑整体,但物理分布。

横向扩展突破了单个服务器的硬件限制,如内存,CPU。

横向扩展需要考虑数据分布和负载分布。

需要注意的是:

* 横向扩展需要对硬件,数据和应用有充分的了解,特别是后二者。

* 横向扩展管理起来更复杂

* 节点之间的互通讯对可扩展性有影响。

HANA是Share-Nothing架构,每个节点有自己的本地数据(data和log), 因此可以减少节点之间的通讯。

但是节点间通过内部的HDB协议也是可以通讯的。为了错误切换,还需要共享文件系统如GPFS, XFS。

Data distribution aims to find the best balance between data model, data usage and actual workload to minimize inter-node communication

数据分布时,需要先考察:

* Data Model - 数据类型,如主数据,交易数据,参照数据等;数据的参照一致性(关联)

* Data Usage - 数据依赖性,数据访问路径

* Workload - 读/写,交易/查询,更新频率

数据分布的手段有:

* Table co-location - 为参照一致性,将相互依赖的表放在同一节点。对同一语句中涉及到的表,如JOIN,放在同一节点。

* Horizontal Partitioning - 将相互关联的表的分区放在同一节点。

* Table Replication - 比如主数据,参照数据,可以复制到每一个节点,以避免节点间通讯。

结论

首先Scale-Up, 最简单,最常用。

HANA的并行化可以很好的支持Scale-Up。

需要对数据和工作负载有很好的理解,才能使Scale-Out达到很好效果。

对于OLAP环境,Scale-Out很适合。

对于OLAP/OLTP混合环境,Scale-Out比较困难。

优化Scale-Out的性能是持续性的工作。

参考

时间: 2024-10-20 12:00:45

HANA的可扩展性的相关文章

云计算的一匹黑马——SAP HANA

云计算的一匹黑马--SAP HANA 现如今,正是风起云涌之时. 随着云计算的日新月异的发展,如何选择云计算服务已经成了企业决策者很关心的问题.如果选对了云计算,那么就有助于企业按需实现业务创新.提高业务灵活性,扩展现有基础架构,从而构建新流程,获得新洞察,快速调整业务流程,相应瞬息万变的全球化市场. 面对各种各样.令人眼花缭乱的云计算层出不穷,很多IT巨头都纷纷竞相角逐运市场.这对于企业而言是一件好事,为企业重新思考未来并推动前所未有的转型创造了契机. 在经济全球化的趋势之下,企业比以往更需要

SAP统一丰富的云产品组合以服务规模不同的企业—凭借SAP HANA云平台

SAP统一丰富的云产品组合以服务规模不同的企业-凭借SAP HANA云平台 借助 SAP 统一的云产品组合,客户可以: 基于 SAP HANA云平台,实时顺应业务变化 作为业界唯一一个基于 SAP HANA 的云平台,SAP 旨在协助客户在实时的情况下,快速洞察.分析及应对业务变化,并实现持续创新.SAP HANA云平台是所有 SAP 云产品组合的基础平台,涵盖了应用开发以及集成服务.数据服务和基础设施服务等功能.SAP HANA云平台也是近期发布的 SAP HANA企业云不可或缺的组成部分,可

影响JavaScript应用可扩展性因素

引言:JavaScript 应用变得越来越庞大.这是因为使用JavaScript能做的事情远比我们大多数人所需求的要多得多.我们不能仅因为技术上可行,就去考虑软件系统的扩展问题.为一个不需要扩展的系统增加扩展性是不值得的,尤其对最终用户来说,这只会使系统显得更加笨重. 本文选自<大型JavaScript应用最佳实践指南>. 作为JavaScript 开发者和架构师,必须承认并了解影响扩展性的因素.虽然不是所有JavaScript 应用都需要扩展,但总有一部分是需要的.比如,我们很难确认某个系统

Boost.Hana在visual studio 2017 rc中的残缺使用

最新的visual studio还不支持hana,不知道vs2017正式版本出后会不会支持.等不及了,先用rc版试试吧. 1.从https://github.com/boostorg/hana下载或拉取最新版本,我们只需要'include/boost/'目录中的所有文件. 2.新建一个控制台应用程序: 3.将hana文件复制到目录下(或者不复制,而是直接添加文件包含目录),进行一些简单配置,然后在cpp文件中随便写一点关联hana的代码: 4.编译.当然通不过!把错误概括一下,我用了一个比较山寨

【转】SAP HANA学习资料大全[非常完善的学习资料汇总]

Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/hana-in-memory/blog/2012/08/27/my-experience-on-hana-certification Videos available at HANA Academy http://www.saphana.com/community/resources/hana-acad

大型网站技术架构(七)--网站的可扩展性架构

大型网站技术架构(一)--大型网站架构演化 大型网站技术架构(二)--架构模式 大型网站技术架构(三)--架构核心要素 大型网站技术架构(四)--网站的高性能架构 大型网站技术架构(五)--网站高可用架构 大型网站技术架构(六)--网站的伸缩性架构 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力. 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性.模块通过分布式部署,独立的模块部署在独立的服务器上(集群)从物理上分离模块之间的耦合关系

HANA 数据库License的查看申请及安装

HANA 数据库License的申请及安装 HANA安装完毕后有90天的期限让你申请License,过期后系统无法登录,表现为系统无法登录,数据库被锁定,此时HANA Studio中各个选项均为灰色,但安装License为可操作的.如果系统已无法登录,请在SAP 网站上申请License,并用HANA Studio导入License.以下为详细步骤. 系统可以登录的情况下,(已安装完系统,但未导入License时) 登入SAP GUI使用T-code:/ndb12 许可证查看liecense 没

服务的扩展性(如何创建具有可扩展性的服务实例,缓存以及数据库)

转自:http://www.cnblogs.com/loveis715/p/5097475.html 在编写一个应用时,我们常常考虑的是该应用应该如何实现特定的业务逻辑.但是在逐渐发展出越来越多的用户后,这些应用常常会暴露出一系列问题,如不容易增大容量,容错性差等等.这常常会导致这些应用在市场的拓展过程中无法快速地响应用户的需求,并最终失去商业上的先机. 通常情况下,我们将应用所具有的用来避免这一系列问题的特征称为非功能性需求.相信您已经能够从字面意义上理解这个名词了:功能性需求用来提供对业务逻

HANA SQL

约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l  双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l  “/*”和“*/”.这种类型的注释用来注释多行内容.所有在引号符“/*”和关闭符“*/”之间 的文字都会被 SQL 解析器忽略. 标识符 标识符用来表示 SQL 语句中的名字,包括表名.视图名.同义字.列名.索引名.函数名.存储过程名.用户名.角色名等等.有两种类型的标识符:未分隔标识符和分隔标识符