公众号:SAP Technical
本文作者:matinal
 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

第一:加速数据的访问。

1.把数据保存在内存中,(Using main memoryas the data store)通过下图我们可以看到内存的访问速度比磁盘快1,000,000倍,传统磁盘读取是5毫秒,内存读取是5纳秒。比SSD和闪存快1000倍。虽然寄存器和Cache的读取数据的速度比内存快,但在实际的数据处理中它们的使用是有限的。

根据计算机组成原理我们知道数据是从 磁盘----> 通过数据总线和控制器(RAID,I/O hub等)--->内存--->CPU Cache --->CPU进行数据处理(CPU寄存器)。

内存是直接与CPU cache进行数据传输的,数据传输速度远远大于磁盘。所以与数据保存在磁盘中相比,数据保存在内存中可以大大的提高数据库在存取数据的时间的性能优势。在传统的数据库中。由于内存存储的数据有易失性,系统掉电或者是重启内存中的数据就会丢失,针对这个SAP HAHA有一个后台的异步进程savepoint(Data persistence)定时的把内存数据存储到磁盘中。把数据存储在内存中解决的传统数据库在磁盘I/O读取的性能瓶颈,但是在出现了新的性能瓶颈是把内存中的数据加载到CPU Cache中,SAP HANA采取多处理器并发处理。

数据持久化(Data persistence)

2.硬件方面:服务器采用多核架构(每个刀片8 x 8 核心 CPU)多刀片大规模并行扩展,刀片服务器价格低廉,采用64 位地址空间 — 单台服务器容量为2 TB ,100 GB / 秒数据吞吐量,价格迅速下降,性能迅速提升。

3.软件方面:数据存储可以选择行存储或者是列存储,同时对数据进行压缩。

第二:把数据分开处理。

内存本地化:把大数据量和计算量分散到不同处理器

并行处理:不同的服务器之间也共享同一组数据

容灾性:单一的服务器的DOWN机将不影响任何计算

第三:最小化数据传输。(Minimizing datamovement)

1.压缩数据。(compress data)

尽管今天的内存容量允许把大量的数据存储在内存中,把数据进行压缩的目的没有直接用来提高性能,但把内存数据进行压缩还是可取的,它可以最大限度的减少数据从内存传输到CPU cache中。SAP HANA 采用数据字典的方法对数据进行压缩,用整数来代表相应的文本。数据库可以压缩数据和减少数据的传输。

2.把应用逻辑和计算由应用层转移到数据库层。(Pushingapplication logic to the database)

传统数据库中,一个应用程序在处理应用逻辑数据时,先把数据从数据库读出来,然后再进行相应的计算处理,最后处理后的数据写回数据库中。在数据库和应用程序传输数据包括在一个网络通信,那么网络资源的开销,延时,传输速率及及最大吞吐量都对它们之间的通信会产生限制。如果数据库能够执行计算和应用逻辑,不需要将数据发送回应用程序甚至可能减少数据交换的需要。这最大限度地减少传输的数据量。

【HANA系列】SAP HANA的特点总结的更多相关文章

  1. 【SAP HANA】SAP HANA开篇(1)

    有幸当前工作能够接触到SAP S/4,能够接触到史上无敌的HANA内存数据库.HANA的技术我就不多讲了,感兴趣的人可以去百度一下.当然,有人想在本机安装HANA来学习,但前提是你得有128G内存以上 ...

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

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

  3. 学习SAP HANA SQL

      学习SAP HANA SQL 语句(创建 EMP,DEPT,BONUS 和 SALGRADE测试表)--像学Oracle一样学习SAP HANA 标签: sap测试oraclesqltableda ...

  4. SAP HANA学习资料大全[非常完善的学习资料汇总]

    Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/ha ...

  5. 1950261 - SAP HANA Database Backup Policy Recommendations and Regular Backup Script

    =====Symptom For SAP Business One, version for SAP HANA users, SAP HANA provides a range of database ...

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

    Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/ha ...

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

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

  8. SAP HANA学习资料大全 Simple Finane + Simple Logisitic [非常完善的学习资料汇总]

    Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/ha ...

  9. SAP NOTE 1999997 - FAQ: SAP HANA Memory

    Symptom You have questions related to the SAP HANA memory. You experience a high memory utilization ...

  10. SAP HANA企业级培训系列课程<第一部分>

    No. 课程 备注 1 HANA概述 HANA 特点 2 HANA Server & Studio & Client 认识HANA Server \Client\ Studio, 熟悉 ...

随机推荐

  1. 使用userAgent区分浏览器版本

    使用userAgent区分浏览器版本:https://blog.csdn.net/n447194252/article/details/76255489 JS根据userAgent值来判断浏览器的类型 ...

  2. String hashCode 这个数字,很多人不知道!

    作者:coolblog segmentfault.com/a/1190000010799123 1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 ...

  3. 移动端自动化测试之Appium的工作原理学习

    Appium 简介 参考官网文档说明:http://appium.io/docs/en/about-appium/intro/ Appium官方文档上介绍,Appium 是一个自动化测试的开源工具,支 ...

  4. jQuery难学是因为什么?

    我们看别人写的js代码,发现很多不明白,其实只是你对语法不清楚.对函数方法了解的不全面. /****************************************************** ...

  5. JEECG 深度使用培训班 周六周日公开课(一期班)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/25411023 广大技术爱好者:     ...

  6. Neo4j的查询语法笔记(二)

    cypher是neo4j官网提供的声明式查询语言,非常强大,用它可以完成任意的图谱里面的查询过滤,我们知识图谱的一期项目 基本开发完毕,后面会陆续总结学习一下neo4j相关的知识.今天接着上篇文章来看 ...

  7. mybatis对java自定义注解的使用

    转自:https://www.cnblogs.com/sonofelice/p/4980161.html 最近在学习spring和ibatis框架. 以前在天猫实习时做过的一个小项目用到的mybati ...

  8. linux7 grub配置文件 linux6 grub配置文件

    在 grub 的 kernel 配置后面,添加 acpi_pad.disable=1 重启机器之后,开机就不会自动加载 acpi_pad 模块 一:linux6 [root@node2 ~]# cat ...

  9. Oracle 索引数据字典、基于函数的索引

    user_indexes 字典视图包含了索引名和唯一性, user_ind_columns视图包含了索引名.表名.以及列名 dba_indexes dba_ind_columns 同理 select ...

  10. Map和Set的联系

    Java中的集合 Java中的集合包括三大类,它们是Set.List和Map,它们都处于java.util包中,Set.List和Map都是接口,它们有各自的实现类.Set的实现类主要有HashSet ...