内存数据库带来的实时分析能力备受现代企业的青睐,这促使包括SAP在内的供应商纷纷推出自己的内存数据库产品。作为长期以来数据库领域的龙头老大,甲骨文公司于今年6月发布了其内存数据库产品Oracle Database In-Memory。
甲骨文公司数据库技术产品执行副总裁Andrew Mendelsohn近日在北京举办的媒体沟通会上,详细介绍了Oracle Database In-Memory的各种优势。
突破行列格式限制
Andrew指出,Oracle Database In-Memory的一大创新是突破了数据库格式的行列限制,而采用双格式数据库内存。他解释说,一般来说,行式数据库在访问少量行、大量列时速度更快,适用于交易系统,如插入或查询一条销售订单;列式数据库则在访问大量行、少量列时速度更快,适应于分析系统,如按地域生成销售额报告。
此前受技术限制,用户从一开始就要选择是采用行式数据库或列式数据库中的一种,而牺牲掉另一方面的性能。Oracle Database In-Memory通过同一张表在内存中同时支持行和列两种格式,同时激活并保持事务一致性,对分析和报表采用新的内存列格式,OLTP(联机事务处理系统)则采用久经考验的行格式运行。
Oracle 内存列式存储技术在进行分析类操作时有着巨大的优势:纯内存中的列式存储能快速响应数据变化,压缩比例可达到2倍至20倍,粒度可支持表级与分区级。测试数据显示,列格式的每CPU内核可达到10亿条/秒的扫描速度,而行格式仅能达到百万条,性能的提升高达100倍以上。
Andrew介绍,Oracle Database In-Memory还能让传统的OLTP性能有所提升。面向交易的OLTP中的大部分索引是为了提高分析查询速度而建的,仅能加速定制查询和报表,而向表中插入一条记录通常需要更新10~20个分析型索引,使得OLTP系统变得非常慢。Oracle Database In-Memory以列存储取代了分析型索引,可以基于任何一列实现快速分析,不仅提升了定制查询速度,而且还加快了随机查询速度。
来自甲骨文公司的资料称,Oracle Database In-Memory可让企业的分析性能提升高达100倍,事务处理性能也得到大幅改善。一次测试显示,总结4100万行发票内容大约需要4个小时。在对应用进行微调且用Oracle Database In-Memory再次进行试验后,只用4秒钟便能完成任务。
作为Oracle Database In-Memory的测试客户,喜达屋酒店集团架构师Arup Nanda感叹:“现在我们可以在OLTP数据库中直接做实时分析,这在以前是绝对不可想象的。”
无需新购硬件和改变应用
Andy Mendelsohn指出,和友商们的内存数据库产品通常需要购买新的硬件产品来支持不同的是, Oracle Database In-memory可以看作是传统Oracle数据库的一个插件,用户不用再购买新的硬件,而仅需根据需求配置内存中列存储的容量,将表或者分区加入列存储中。
Rittman Mead的CTO Mark Rittman甚至评价说,部署Oracle Database In-memory没什么好说的,只要把开关打开,选择表装载到内存即可,别的什么也不需要做。
即便如此,Andrew依然强调,Oracle Exadata数据库云服务器和包括Oracle SuperCluster在内的Oracle集成系统在部署Oracle Database In-Memory时更具优势。
Oracle集成系统针对Oracle Database In-Memory进行了优化,提供大容量存储、极致的性能和高可用性,同时还提供了存储分层,将活动性较低的数据转移到闪存和磁盘中,以提供出色的性价比。Oracle集成系统的内存容错功能跨多个节点选择性地复制内存数据,因此,如果一台服务器发生故障,便可以立即使用内存数据副本来满足查询要求。
据了解,Oracle Database In-memory在部署上的另一优势是用户无需对应用进行任何修改就可以用其来同时加速分析系统与交易系统。
……
关注读览天下微信,
100万篇深度好文,
等你来看……