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

前言部分

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

正文部分

SAP HANA处理大量数据速度快的机制理解

1:HANA使用列存储的数据管理优化数据存取

从列去读取数据库表,其他忽略

2:对于内存和CPU之间的访问速度差异,增加内核,压缩数据

3:使用列存储技术高效利用CPU的缓存。

行存储数据的读取方式容易造成内存的数据读取及高速缓存的丢失

4:利用新型CPU预读取的技术夹克数据的读取

就是读取一个缓存数据的同时,预读另一个缓存数据。

HANA采用了行列混合的存储模式

即在单一数据库系统中,能支持两种不同的数据存储模式。

传统意义上数据库表是一个二维表,由行和列组成。

行存储方式包含一条记录中所有的数据

而列存储方式则包含这一列中所有数据。

如下图演示:

这样一个数据库表的话,

行存储如下:

列存储如下:

一般认为,列存储对数据的读取优于行存储

行存储对数据的更新更加好。

所以,列存储适用于以下情况:

1:大量数据的统计计算和访问只会在需要访问的某几个单列中进行

2:对于需要经常对表结构进行改动的或者扩展的情况

3:对很多行记录和列字段进行频繁操作

4:当最主要的列中有很多重复数据的情况,可以对其进行数据压缩

行存储使用于以下情况:

1:在某个时间点只处理单行的记录。

2:需要访问这一记录的所有列信息,避免跳跃式访问读取。

3:列中包含最主要的不重复数据。

4:没有快速聚合或进行快速查询的需要。

5:数据库表中的记录不太多的情况。

更多内容,关注我的公众号吧。

【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 ...

随机推荐

  1. Java并发(基础知识)—— 创建、运行以及停止一个线程

    在计算机世界,当人们谈到并发时,它的意思是一系列的任务在计算机中同时执行.如果计算机有多个处理器或者多核处理器,那么这个同时性是真实发生的:如果计算机只有一个核心处理器那么就只是表面现象. 现代所有的 ...

  2. navicat修改表的主键自增长报错

    这周自己在构思一个项目的表的设计,由于是第一次,所以走了很多弯路,也遇到了几个问题,这里暂时贴上来. 我用PowerDesign设计出一部分关联表的ER图之后,导出了sql文件之后用navicat导入 ...

  3. [SCOI2016]幸运数字(线性基,倍增)

    [SCOI2016]幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作 ...

  4. VMware主机使用无线上网

    VMware主机使用无线上网,默认的NAT连接在ubuntu下上不了网,需要把网络适配器改成桥接模式.

  5. Spring Boot 整合 AOP

    一.示例 1.依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  6. 【视频点播最佳实践】使用OSS SDK上传视频到点播

    摘要: 场景 点播上传SDK缺乏需要的语言版本(如C/C++.Go等)或相应的功能(如网络流上传.追加上传),可以直接使用OSS的SDK进行上传. 准备工作 确认已开通点播服务并完成了相关配置.确认已 ...

  7. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  8. 算法——得到数据流中前K大的数

    用优先队列 public PriorityQueue<Integer> kthLargest(int k, int[]a) { PriorityQueue<Integer> q ...

  9. python 从入门到实践 第三章

    在第3章,你将学习如何在被称为列表的变量中存储信息集,以及如何通过遍历列表来操作其中的信息 写注释 # 代码越长 标识好代码的重要性 越来越重要要求习惯:在代码中编写清晰,简洁的注释开始研究更复杂的主 ...

  10. C++ 值传递、指针传递、引用传递

    1.值传递 (1)形参是实参的拷贝(这句话说明形参和实参是两个实体),改变形参的值并不会影响外部实参的值. (2)从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传 ...