IBM将DB210.5改造为Hadoop杀手

在上周五发布的DB2最新更新中,IBM添加了一组加速技术(统称为BLU),这些技术有望使久负盛名的数据库管理系统(DBMS)更适合运行大型内存数据分析作业。”BLU在分析和报告工作负载方面有着显著的优势。

BLU(一个开发代码名,代表大数据、轻量级、快速、超简单)是由IBM研究与开发实验室开发的一套用于列处理、重复数据消除、并行向量处理和数据压缩的新技术。

BLU的重点是使数据库“内存优化”,文森特说它将在内存中运行,但您不必将所有内容都放在内存中。”BLU技术还可以消除对SQL查询进行大量手动调优以提高性能的需要。

IBM声称,由于采用了BLU,DB210.5可以将数据分析速度提高25倍或更多。这一改进可以消除购买单独内存数据库(如Oracle的TimesTen)的需要,从而实现快速的数据分析和事务处理任务。”我们不会从成本模型的角度强迫您调整数据库的大小,使所有内容都能存储在内存中,”文森特说。

在Web上,IBM提供了一个使用BLU技术的32核系统如何在不到一秒钟的时间内对10TB数据集执行查询的示例。

“在这10TB中,您(可能)在日常操作中与其中25%的数据进行交互。“你只需要在内存中保留25%的数据,”文森特说今天,你可以用不到35000美元的价格买到一台具有1 TB RAM和5 TB固态存储的服务器。”

另外,考虑到可用数据库管理员的数量通常比数据仓库专家的数量多,使用DB2可以降低运行单独数据仓库的人工成本。Vincent说,在某些情况下,它甚至可以作为Hadoop数据处理平台的一种更易于维护的替代方案。新技术中有一种压缩算法,它以这样的方式存储数据:在某些情况下,数据在被读取之前不需要解压缩。Vincent解释说,数据是按存储顺序压缩的,这意味着可以执行谓词操作,例如在查询中添加WHERE子句,而无需解压缩数据集。

另一个节省时间的技巧是:软件保留一个元数据表,其中列出了每个数据页或数据列的高键值和低键值。因此,当执行查询时,数据库可以检查数据页上是否有任何查找到的值。

“如果页面不在内存中,我们就不必将其读入内存。如果它在内存中,我们就不必通过总线把它带到CPU上,然后通过分析页面上的所有值来消耗CPU周期这使我们在CPU利用率和带宽方面更有效率。”

使用列处理,查询可以只拉入数据库表的选定列,而不是所有行,这将消耗更多内存。”我们提出了一种算法,可以非常有效地确定哪些列以及哪些列的范围需要缓存在内存中,”文森特说。

在硬件方面,该软件具有并行向量处理功能,这是一种使用Intel和PowerPC芯片上的SIMD(单指令多数据)指令集向多个处理器发出一条指令的方法。然后,软件可以对系统在寄存器上放置的任意多个列运行单个查询。”寄存器是系统中最有效的内存利用方面,”文森特说。

IBM并不是唯一一家研究将大型数据库塞进服务器内存的新方法的公司。上周,微软宣布,它的SQLServer2014还将附带一些技术,统称为Hekaton,以最大限度地利用工作内存,以及一种借鉴Excel的PowerPivot技术的列处理技术。

Monash Research的数据库分析师Curt Monash指出,随着IBM的DB210.5版本的发布,Oracle现在是“现在唯一一家没有真实专栏故事的主要关系型DBMS供应商”

IBM本身正在使用db210.5的BLU组件作为其db2smartcloud基础设施即服务(IaaS)的基石,为数据报告和分析工作增加计算能力。它还可以将BLU技术插入到其他IBM数据存储和分析产品中,比如Informix。

Joab Jackson为IDG新闻服务报道企业软件和通用技术的最新消息。在Twitter上关注Joab@Joab\u Jackson。约押的电子邮件地址是Joab\u Jackson@idg.com