由IBM研究和开发实验室开发,BLU(此开发代号代表“big data, lightning fast, ultra-easy”)整合了柱状处理(columnar processing)、重复数据删除、并行向量处理(parallel vector processing)和数据压缩等技术。
BLU的重点是使数据库“内存优化”,IBM信息管理软件CTO Tim Vincent说,“它将会在内存中运行,但你不必把一切都放入内存之中。”并且BLU还可以大量消除提高SQL查询性能所需要的手动调节。
IBM声称,由于BLU整合了大幅改善分析能力和简化管理的一系列技术,DB2 10.5能够将数据分析速度提高25倍以上。这一改进可以消除企业购买一个单独的内存数据库(例如甲骨文的TimesTen)的需求,为了快速的数据分析和事务处理工作。
在网上,IBM提供了一个例子,32核心系统如何使用BLU技术,可以在不到一秒钟的时间内对一个10TB的数据集执行查询。“在10TB之中,你[可能]只有25%的数据交互用于日常运作。你只需要保持这25%的数据在内存之中,” Vincent说,“你今天可以以低于35,000 美元的价格买到一个拥有1TB的RAM和5TB固态存储的服务器。”
此外,使用DB2可以削减运行一个单独的数据仓库的劳动力成本,可用的数据库管理员通常都比数据仓库专家要多。在某些情况下,它甚至可以作为一个更易于维护的替代Hadoop的数据处理平台,Vincent说。新的技术之一的压缩算法,能够以这样的一种方式存储数据,即在某些情况下,数据的读取无需首先进行解压缩的工作。Vincent解释说,数据压缩的顺序就是它的存储一致,这意味着谓语操作,如添加 Where子句的查询,不用先行解压缩数据集就可以执行。让数据在整个分析过程中保持压缩状态,能够大大缩短分析所需要的时间。
节省时间的另一个诀窍:该软件保存一个元数据表,其中列出了每个数据页或每列的数据高低关键值。因此,执行查询时,数据库可以检查,看看是否有任何寻找的值在数据页上。“如果该页面不在内存中,我们并不需要将其读入内存;如果它是在内存中,我们不必把它通过总线带到CPU,并烧毁CPU挨个分析页面上的所有值,”Vincent说,“这使我们能够更有效地利用我们的CPU和带宽。”通过柱状处理,查询可以只拉进在数据库表中选定的列,而不是所有的行,那样将会消耗更多的内存。Vincent表示:“我们已经开发出了一种算法,对确定哪些列和列的哪些范围你想要缓存到内存中非常有效。”
在硬件方面,软件自带并行向量处理的能力,这是一种发出一个单一的指令到多个处理器的方式,采用SIMD(单一指令多数据流)指令集,可用在英特尔和PowerPC芯片。因而该软件可以运行一个单一的查询针对多列,可以分析跨处理器的并联数据,系统可以放在寄存器。“寄存器是系统内存利用方面最有效率的。”Vincent说。
据悉,在测试过程中,结合使用BLU加速的创新功能,很多查询功能在单项分析负载中运行速度比以往要快到1000倍以上。
在研究新的途径将大型数据库塞入到服务器内存的道路上,IBM并不孤单。上周,微软宣布它的SQL Server 2014也配备了多项新的技术,统称为Hekaton,包括以***限度地利用运行内存,以及借用Excel的PowerPivot技术的柱状处理技术。
Monash Research的数据库分析师Curt Monash指出,随着IBM DB2 10.5版本的发布,Oracle现在是唯一一个没有真正的柱状处理能力的主流关系数据库管理系统(DBMS)供应商。
IBM自己使用DB2 10.5的 BLU组件作为DB2 SmartCloud基础设施即服务(IaaS)的基石,以增强数据报告和分析工作的能力。另外,BLU技术还可以插入到IBM其他的数据存储和分析产品,比如Informix。
原文链接:http://database.ctocio.com.cn/141/12640141.shtml
【编辑推荐】