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

前言部分

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

正文部分

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

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

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

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

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

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

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

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

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

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

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

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

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

如下图演示:

这样一个数据库表的话,

行存储如下:

列存储如下:

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

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

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

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

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

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

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

行存储使用于以下情况:

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

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

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

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

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

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

最新文章

  1. hibernate主键生成策略
  2. Angularjs之如何在跨域请求中传输Cookie
  3. php 分页
  4. ReSharper 配置及用法(一)
  5. ASP.NET连接Oracle数据库的步骤详解(转)
  6. win7打开或关闭windows功能 提示“出现错误,并非所有的功能被更改”,管理员权限惹的祸
  7. CenOS中下载RPM包
  8. PHP中 magic_quotes_gpc 和 magic_quotes_runtime 区别及其反斜线转义问题
  9. Lecture Halls
  10. js new Date().Format
  11. cocos android分析
  12. JavaScript树(一) 简介
  13. Oracle Database 11g安装及报错处理(win7)
  14. Linux发展史-简简简易版
  15. HTML自动跳转
  16. Storm 入门教程
  17. 【LOJ#10154】选课
  18. js实现简单拖拽效果
  19. JavaScript 之 回调函数的返回值给全局变量赋值问题
  20. 020.2.2 runtime类

热门文章

  1. Linux 系统分类
  2. python基础练习题5
  3. 【转】原生js实现移动端h5长按事件
  4. Rsync以守护进程(socket)的方式传输数据
  5. java.sql.SQLException: Access denied for user 'root'@'d001' (using password: YES)
  6. MongoDB实现增删查方法
  7. MTBF测试
  8. docker-compose简单使用
  9. select 语句关键字优先级
  10. SQL Server 2012 sa 用户登录 18456 错误 (转)