HANA的基本概念
2015-07-24 12:33
302 查看
Q1-1:内存计算是什么?
内存计算是指CPU直接从内存,而不是硬盘上读取数据,并进行计算、分析,是对传统数据处理方式的一种加速。CPU在内存中读取分析数据,比传统的cpu读取硬盘数据快1,000,000倍。随着目前1TB以上的服务器问世与普及,内存计算不在是实验室研究的科研产品,慢慢的内存计算在企业中被重视了起来,逐渐推广应用。
内存计算离不开硬件的发展轨迹,新一代硬件将内存计算实现:
内存
RAM的价格正在下降
1 TB RAM工作站已可行, 4 TB RAM即将实现
64 bit架构让4GB主内存限制显得过时
新的压缩算法允许在内存里完整储存大量数据
但是:快速的主内存访问还是需要本地化的数据支持
CPU
每核的价位正在下降
每颗CPU的核数在上升
32核的工作站已经实现,64核的将不久后问世
为CPU提供足够的指令和数据是高效处理数据的关键
但是:对于时钟频率的提升只能进行轻微的改善
磁带已经死了,磁盘已经落伍,闪存成为存储,内存才是王道。这是一个业内比较赞同的观点。
Q1-2:列式存储的优点和缺点?
列式存储的优缺点一定是相对行式存储来说的:
列式存储的优点是
极高的装载速度(最高可以等于所有硬盘IO的总和,基本是极限了)
适合大量的数据而不是小数据
实时加载数据仅限于增加(删除和更新需要解压缩Block 然后计算然后重新压缩储存)
高效的压缩率,不仅节省储存空间也节省计算内存和CPU。
非常适合做聚合操作。
举例:列式存储 相当与全表索引,查询数据时就是一列列差的比较多,比如:select id, name, salary from emp;都是列式的显示。
缺点是
不适合扫描小量数据
不适合随机的更新
批量更新情况各异,有的优化的比较好的列式数据库(比如Vertica)表现比较好,有些没有针对更新的数据库表现比较差。
不适合做含有删除和更新的实时操作。
Q1-3:为什么HANA号称第一个商业内存计算平台?是宣传呢还是确有其事?
我认为确实是确有其事,因为
1.SAP Hana的诞生就是为内存计算设计的,在读取数据,压缩上都做了优化,使用其自己的引擎,脚本语言(sqlscript)
2.目前我们使用SAP hana测试13亿条数据,和2千万数据关联select都是毫秒级别的,oracle是秒级别,比oracle快很多,还有import可以多个线程load,也快很多。
内存计算是指CPU直接从内存,而不是硬盘上读取数据,并进行计算、分析,是对传统数据处理方式的一种加速。CPU在内存中读取分析数据,比传统的cpu读取硬盘数据快1,000,000倍。随着目前1TB以上的服务器问世与普及,内存计算不在是实验室研究的科研产品,慢慢的内存计算在企业中被重视了起来,逐渐推广应用。
内存计算离不开硬件的发展轨迹,新一代硬件将内存计算实现:
内存
RAM的价格正在下降
1 TB RAM工作站已可行, 4 TB RAM即将实现
64 bit架构让4GB主内存限制显得过时
新的压缩算法允许在内存里完整储存大量数据
但是:快速的主内存访问还是需要本地化的数据支持
CPU
每核的价位正在下降
每颗CPU的核数在上升
32核的工作站已经实现,64核的将不久后问世
为CPU提供足够的指令和数据是高效处理数据的关键
但是:对于时钟频率的提升只能进行轻微的改善
磁带已经死了,磁盘已经落伍,闪存成为存储,内存才是王道。这是一个业内比较赞同的观点。
Q1-2:列式存储的优点和缺点?
列式存储的优缺点一定是相对行式存储来说的:
列式存储的优点是
极高的装载速度(最高可以等于所有硬盘IO的总和,基本是极限了)
适合大量的数据而不是小数据
实时加载数据仅限于增加(删除和更新需要解压缩Block 然后计算然后重新压缩储存)
高效的压缩率,不仅节省储存空间也节省计算内存和CPU。
非常适合做聚合操作。
举例:列式存储 相当与全表索引,查询数据时就是一列列差的比较多,比如:select id, name, salary from emp;都是列式的显示。
缺点是
不适合扫描小量数据
不适合随机的更新
批量更新情况各异,有的优化的比较好的列式数据库(比如Vertica)表现比较好,有些没有针对更新的数据库表现比较差。
不适合做含有删除和更新的实时操作。
Q1-3:为什么HANA号称第一个商业内存计算平台?是宣传呢还是确有其事?
我认为确实是确有其事,因为
1.SAP Hana的诞生就是为内存计算设计的,在读取数据,压缩上都做了优化,使用其自己的引擎,脚本语言(sqlscript)
2.目前我们使用SAP hana测试13亿条数据,和2千万数据关联select都是毫秒级别的,oracle是秒级别,比oracle快很多,还有import可以多个线程load,也快很多。
相关文章推荐
- hconcat函数 与 vconcat函数的使用---增加行或列
- 第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析
- NSURLConnection的Get\Post方法
- jQuery 3.0 的变化
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第36讲:PHP错误与异常处理
- storm安装集群配置详情
- Android中ImageView centerInside与fitCenter区别
- PS快捷键大全
- 基于JS实现的倒计时程序实例
- javaGUI解决闪屏问题
- String,字符串处理
- Spring 学习笔记-- <mvc:default-servlet-handler />默认加载simpleurlhandlermapping
- crossApp初级-CAView类-5
- word-wrap和word-break
- php之类常量/魔术常量/延迟绑定
- 自动生成makefile的脚本
- Objective-C学习笔记(二十一)——函数的返回值与参数类型
- mysql缓存和日志
- 分治 hihoCoder1050 树中的最长路
- Handling Mixed (HTTPS/HTTPS) Content