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中国
作者
相关推荐
-
数据库产品巡礼:IBM DB2概览
IBM DB2关系型数据库管理系统提供了支持多平台系统的关键技术,它具备较高的可用性和良好的性能。
-
中小企业福音:DB2 10.5数据库将支持Windows平台
近日, IBM还针对DB2 BLU加速器推出了数据安全保护更新,同时进一步扩展了平台支持,更新后的DB2 BLU加速器将提升数据保护功能。
-
看IBM新技术如何拥抱大数据时代
本周二,IBM在北京举办了“IBM大数据与分析高峰论坛”活动,并针对大数据分析发布了一系列最新的技术产品。
-
IBM DB2将迎来30岁“生日”
再过几天,主流数据库产品DB2就将迎来它30岁的“生日”。作为关系型数据库技术的标志性产品,DB2在过去的30年中也在伴随用户需求的变化不断地发展。