专家解读DB2 BLU加速器功能

数据库
本文中,数据库专家Curt Monash对IBM最新发布的数据库功能BLU Acceleration进行了细致的解读。

IBM公司在今年四月发布了***的DB2数据库,其中新增加了BLU加速器(BLU Acceleration)功能。从表面上看,BLU加速器是一个类似于列式存储+内存计算的功能,但其中还有一些技术细节值得DBA注意。对此,数据库咨询顾问Curt Monash在他的博客中对BLU加速器进行了细致的解读,方便DBA更深入地了解DB2 10.5版本中的这一新功能。

BLU加速器是新版DB2数据库中的一个功能,它的作用类似于一个列式分析型DBMS。如果对BLU和非BLU表进行连接,其过程是先将所有BLU表连接,然后结果集再与其他DB2进行连接。至此,除了Oracle之外的其他主流企业级数据库产品都已经添加了列式存储的功能。

IBM宣称,BLU能够线性垂直扩展到64核CPU,而水平扩展将很快实现。IBM建议所有面向分析负载的DB2表都应该使用BLU加速器。***个版本的BLU加速器针对10 TB级别数据库进行了优化,其能力可以处理20 TB数据。

BLU加速器在技术方面的创新亮点包括:

查询功能完全管道化(pipelining ),表扫描可以共享

数据忽略(Data Skipping)功能能够有效降低I/O

基于单指令多数据结构(SIMD)的矢量化(Vectorization )。

概率缓存取代传统LRU(Least Recently Used),经常被引用的数据块出现在内存当中的几率就越大。这一功能的背后还有更复杂的随机算法支持。

“自动化工作负载管理”功能,IBM认为查询之间的资源争用是造成资源浪费的主要原因,这一功能让BLU加速器与传统DB2数据库相比在并发性上产生差异性优势。

此外,BLU采用列示存储模型,在数据压缩上同样具备一定优势。BLU压缩包括了近似的霍夫曼编码、前缀编码和差值压缩。此外IBM称,所有的压缩算法都是保序的,因此范围判断可以直接在压缩数据上执行,也就是说可以直接在压缩的数据上进行处理和分析。这是BLU压缩功能中***的亮点。

  同其他列式数据库系统一样,BLU加速器的写数据性能是性能瓶颈所在。对此,IBM给出的解释是在数据库中对新数据进行移动(包括内存中和磁盘中的数据),是BLU加速器的优势之一。IBM支持的方法包括:

  BLU加速器支持LOAD、SQL INSERT、UPDATE、DELETE和其他三个基于SQL的操作,即INGEST、IMPORT和EXPORT(另外还包括BACKUP和RESTORE,它们也是移动数据的方式之一)。由于数据导入的语法和语义都保持不变,因此意味着你不需要做任何修改就可以继续使用IBM Data Stage或者其他第三方的ETL工具。

  与其他列式数据库厂商保证性能的方式有所不同,IBM没有选择使用表的delta区域来插入新数据,然后再异步移动行数据到列区域,这种数据的二次加载对于性能将造成很大影响。IBM的方法是,针对主表直接添加数据,然后使用批量转换来平摊列式处理所带来的延迟问题。通过批量处理数据,可以极大程度地消除列式数据库的固有开销,并且完全避免了数据的二次处理。

  此外,IBM还为BLU加速器添加了新的列式日志方法。从表面上来看,它与DB2传统的基于日志的交易恢复相同,但是其中日志的数据格式是按照列的方式重新组织的。再加上XOR日志功能,BLU可以极大程度上缩减日志空间。而且BLU加速器的表能够与传统的数据库表共存,IBM做到了二者的无缝整合。

责任编辑:彭凡 来源: TechTarget中国
相关推荐

2010-11-03 10:35:45

DB2存储过程

2009-03-30 09:08:40

微软浏览器IE8

2013-09-24 10:23:04

DB2 10.5 BLhadoop

2010-08-26 10:13:52

DB2java连接

2011-07-21 09:53:37

IBMDB2

2011-05-13 10:15:35

DB2专家王云商业智能BI

2012-05-14 17:45:51

ibmdw

2010-08-18 10:29:41

DB2 Capture

2012-07-11 09:57:41

CATechnologieDB2

2010-08-09 13:15:05

DB2 Capture

2010-08-06 14:52:13

DB2 9.7武器

2010-08-09 10:00:25

DB2数据移动

2010-08-26 11:37:38

DB2命令

2015-10-23 16:35:11

DB2导出LOB

2009-06-25 10:30:30

2010-11-03 15:49:32

DB2删除表

2010-07-29 10:30:41

DB2隔离级

2010-08-11 09:14:33

DB2数据类型

2010-08-10 15:30:21

点赞
收藏

51CTO技术栈公众号