OOW期间对12c发展进行了重点介绍,其中12c最重要的战略方向是:Cloud First,即云优先发布。Oracle 12c Release 2 是一款首先在云端发布的数据库。12c R2最新功能都会在Cloud中得到优先发布,包括:ShardingIn-Memory增强Multitenant增强PDB热迁移Bigdata增强Exadata Cloud等等一系列强大的云数据库能力发布。在Open World之后数据库12c R2在客户内部环境中运行的版本也将正式发布。在前一篇文章里跟大家分享了12cR2 在可管理性及大数据方面的增强,今天跟大家聊聊12.2 在性能方面的一下新特性。

 

Oracle Database In-Memory

Oracle Database In-Memory可以说是一次颠覆性的创新。发布后好评如潮,无需对应用进行任何修改,利用现有的硬件技术就可以获得内存计算的技术,提升分析性能。

我们来看看12.2 的IN-Memory有什么新特性。

在内存中根据多表的连接列建立JoinGroup,把不同表中相互关联的列数据按照相同的方式压缩,存储在一个列存储中,这样在查询执行过程中只需要去访问压缩的数据字典,不需要解压缩,去做 HASH JOIN连接过滤。能加快多表查询的效率。

Oracle Database 12c R2新特性揭秘-性能篇_Java

Oracle Database 12c R2新特性揭秘-性能篇_Java_02

12.2在内存中还支持复杂的计算表达式缓存在一个虚拟列中,而且会自动维护相关数值。由于已经在内存中预计算好了相关数据, 查询时直接取用就好,极大的加快了查询速度。这个特性让我想起来物化视图,大家觉得呢?

Oracle Database 12c R2新特性揭秘-性能篇_Java_03

12.2 In-Memory 在ADG上也得到了增强,在备用库也能启用In-Memory 内存列格式,这样在备用库上也可以启用实时分析,使得读写进一步分离,进一步降低生产库的压力。由于ADG的只读属性,备库上的内存缓存的列格式数据可以和主库不同,可以在备库的内存中缓存更多的列格式数据,加快分析查询。

Oracle Database 12c R2新特性揭秘-性能篇_Java_04

In-Memory在易用性上改进也值得称道,In-Memory在12.2中支持自动的数据优化技术,根据热图自动向内存进行数据转移,也可以动态的清除冷数据以释放内存空间,简化用户管理。

Oracle Database 12c R2新特性揭秘-性能篇_Java_05

如果你是Exadata 用户,你会对In-Memory 在Exadata 上改进感兴趣。在12.2 中支持内存列格式在Exadata 的闪存中缓存,格式与内存中完全相同。这样可以超越 DRAM 限制,可以跨内存、闪存和磁盘透明地伸缩。我们都知道闪存的容量要比内存大很多,这样在闪存中能缓存更多In-Memory 格式的数据,在加上Smart Scan,SIMD向量处理,存储索引裁剪等等功能,为分析型应用提供极速的分析查询性能。

Oracle Database 12c R2新特性揭秘-性能篇_Java_06

12.2 的IN-Memory,采用了优化的二进制格式装载完整的JSON文档,这种新格式能够使我们更高效地扫描和过滤每个文档中的数据。还可以使用JSON_VALUE函数在JSON文档上创建额外的内存表达式,自动物化数据并将结果保存在内存的列存储区。Oracle能自动重定向查询以使用内存中表达式而不是基本JSON列。经测试有20 - 60x的性能提升。

Oracle Database 12c R2新特性揭秘-性能篇_Java_07Oracle Database 12c R2新特性揭秘-性能篇_Java_08

12.1 版本里的DB In-Memory, 内存中的列格式是纯内存格式,不会在硬盘上保留,所以当数据库实例关闭时,内存中的列格式就没有了。每次重新启动实例时,内存中的列格式都必须重新创建。在12.2中引入了一种新的方法-In-Memory Fast-Start,In-Memory列格式定期刷新到一个特定的表空间中,当数据库重新启动时,使用硬盘中存储的格式化数据,装载到内存的In-Memory 区域。跟原来相比装载速度快 (2-5x),大大提高了DB In-Memory的可用性。

Oracle Database 12c R2新特性揭秘-性能篇_Java_09

处理器软件芯片化技术--速度与激情

对于Exadata大家可能已经非常熟悉,而SPARC软件芯片化可能还相对比较陌生,该技术直接在处理器中加入了专业的数据处理芯片,譬如在配合Oracle 12c内存计算选项使用时,可以透明的帮助数据库软件执行SQL,以实现近百倍更快的数据扫描速度。对于用户而言,该技术可以用最少的基础架构设施实现最高的性能,从而极大的降低成本。

Oracle Database 12c R2新特性揭秘-性能篇_Java_10

Oracle 新的SPARC 处理器采用软件芯片化这种突破性技术,不仅提供全速加密,而且还能检测和防范对内存中关键数据的***。此外,还加快了Oracle DB 12c 中的In-Memory DB的查询性能,从而支持对 OLTP 数据库执行实时分析

SQL 芯片化+内存数据库技术 = 提速 83倍

Oracle Database 12c R2新特性揭秘-性能篇_Java_11

待续。。。

12.2其他方面的新特性,敬请期待后续12CR2新特性的相关文章。