像Oracle数据库的大多数版本一样,11g第二版在原有的11g数据库特性的基础上安装补丁包和修复包,同时也增加了新的特性。
虽然11g中不包含我们在10g中看到的主要架构增强,但它给我们带来了几个重要的功能,包括真实应用测试和SQL执行分析器,用于使用SQL调整装置在真实环境下的测试。它也包括自适应的游标共享,用于在使用绑定变量的系统中发布游标共享。
但是随着Oracle 11g第二版的到来,一些有趣的特性也还依赖几个老功能,然而,我希望新版的数据库不要包含这些老功能。以下是一些更多的有趣功能:为Exadata设计的列级别的数据存储
Oracle 快速缓存
Oracle Omotion
真正应用集群单节点
老版数据库包括:自动存储管理集群文件系统(ACFS)
Oracle实例锁定
让我们更近一步地看一下Oracle 11g第二版中的这些新的功能,看一看为什么他们对于Oracle专业人员来讲很重要。
为Exadata设计的列级别数据存储
很明显,作为所有新功能中最让人振奋的,新的数据存储模型,它将行存储替换成列存储。这就是11g第二版中所称的列级别数据存储,且只能在价值百万美元的Oracle Exadata存储单元中可用。
依据Codd与Date,物理块中数据的内部存储本应不成为问题。但是在真实情况下,物理块中的数据存放是被选择性地执行。Oracle提供诸如分类哈希集群的工具,来将相关的行与行序列组合到一起,这些行序列可以通过将所有信息放置到单个的数据块中来改进SQL查询执行效率。
但是,对像DSS这样的系统来说又怎么样呢?它们希望数据以相关列的形式存储在数据块中。传统的数据库系统希望将相关数据项组合到一起,而数据仓库应用偏向于查看组合到数据块中的数据的相关列。
Quest Software的Oracle大牛Guy Harrision对Oracle数据块中以行存储与以列存储做了一个很好的对比描述。
这些面向列的数据库有另一个很重要的优点,因为它们存储邻近的列数据。它们使用压缩算法来检测列数据的结构,并且达到很高的数据压缩率。可以将更多的数据打包到每一个数据块中,从而使用数据仓库查询更快。