专家解读DB2 BLU加速器功能

日期: 2013-06-17 作者:孙瑞 来源:TechTarget中国

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,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

孙瑞
孙瑞

相关推荐