摘要
推动因素
云越来越让人难以忽视 — Ovum 新的 ICT 企业洞察数据表明,40-45%的企业有望在 2017 年增加云方面的支出。云也越来越受到 Oracle 的重视 — Oracle 预测约 80% 客户将在未来十年内采用云。在这种大背景下,OracleDatabase 12c 第 2 版(简称 Database 12cR2)作为 Oracle 新实施的云优先战略的标志性产品应运而生也就不足为奇了。在本报告发表时,Database12cR2 已经部署在所有Oracle 云数据库服务中,包括新推出的Exadata Express 云服务 — 一款入门级 Oracle 数据库即服务。同时,Database 12cR2 的内部部署版已于 2017 年3月发布。
Ovum 观点
Oracle 提供了一个重要的数据库产品创新来引领云部署、多模式和大数据集成的发展趋势。该创新的一大亮点是 Oracle 市场领先的数据库多租户方案(PDB,即可插拔数据库容器):对企业客户而言,Oracle的这个方案为其保持成本优势提供了一个选择。另外值得注意的是Oracle 对分库(sharding) 的支持,该技术可为Oracle RAC (Real Application Clusters) 提供一种更轻量、更现代的分布式、互联网规模的事务处理方案。此外,与 Hadoop 更为紧密的集成则为混合大数据分析提供了新的途径。
要点
§Oracle Database 12cR2 是 Oracle 新实施的“云优先”产品战略的标志性产品。
§Database12cR2 的许多(但不是全部)增强都是应“云”而生的。但是像分库这样的特性之所以可能适合云,是因为云中更可能会有需要分库运行的极端负载。
§Database12cR2 引入许多改进来增强其对多模式数据的支持和与大数据分析的集成。
给企业的建议
由于 Oracle 在 Database 12cR2 上贯彻了云优先战略,因此云就绪是该版本的一大特色。尽管 PDB(Oracle 的云多租户方案)的扩展数量增加了近二十倍这个事实不会直接影响企业客户,但它会给客户带来重大的间接影响:Oracle可以更加经济高效地交付 Database 12cR2。对于希望将多个实例迁移至云的客户来说,PDB 将减少其 DBA 数量和管理开销。分库这样的特性将为客户提供比 Oracle RAC 更先进、更轻量化的互联网级事务处理方案;乍一看,这个特性将对新负载很有用,而对于现有负载,则需要修改后才能移至分库上。(当您的团队习惯使用分库就好了。)
Database12cR2 的另一个亮点体现在大数据分析方面。该版本引入了诸如“近似结果”、分区外部表、图形和 JSON 处理等新功能,它们都与大规模分析处理及非传统数据源相关。在整合Hadoop 和引入更多类似 NoSQL的功能方面,Oracle 也并不特立独行或有多超前;大多数数据平台都已经开始支持多模式。但这并不是重点;重要的是,Database12cR2 更适合运行面向云的负载,并逐渐成为日益普遍的多厂商、混合大数据处理环境的龙头产品。
给供应商的建议
不要低估了云中的 Oracle 数据库:Database 12cR2 让 Oracle 在这一领域更具竞争力。PDB 是一种管理多租户的创新方法,它让 Oracle 有可能在云中经济高效 — 是否达到规模经济而在成本上领先将取决于业务执行(客户群扩大程度)以及在云网络和存储基础设施方面的相关创新。尽管Oracle 在云计算领域起步较晚,在云市场份额上与亚马逊或微软无法相比,但其 2017 财年第一季度 SaaS 和 PaaS 收入同比增长 77%,显示出良好的势头。Oracle 也在新的入门级 Exadata Express 云服务上推出了 Database 12cR2,价格为每月 175 美元。新增的分库特性为Oracle 在分布式、云事务处理负载领域展开竞争提供了另一个立足点 — 但这并不会让诸如 MongoDB 和 DataStax 这样的 NoSQL厂商关门歇业。在多模式数据处理方面的增强让 Oracle 的排名上升到了中间位置 — 超越了 Microsoft,开始与 IBM 和Teradata 竞争。
云优先
Oracle已经将 Database 12cR2 打造成云优先发展规划的标志性产品,该版本已在所有 Oracle 云数据库服务(包括新的 Exadata Express 云服务)中正式上线。Oracle 并未承诺何时发布针对内部部署的 Database 12cR2,不过我们预计它将在 2017 年中期开始逐步面市。
如上所述,乍一看,这个版本只是引入了很多云特性来扩展 Oracle 数据库,使之提高在云中的效率,这意味着 Oracle 可以为其数据库的云交付提供更具吸引力的定价。
但是这个版本中还有其他一些特性对内部部署客户和云客户同样有吸引力。在这些特性中,我们将重点介绍将吸引现有内部部署客户的针对不同数据类型(例如 JSON、文本和图形)的可扩展性和大数据支持。在这里,我们将不会详细介绍每个特性,因为新版本针对数据库进行了数百项运营方面的核心增强,包括可用性、数据压缩、索引、分区、诊断、可管理性、性能和安全性等。
扩展了可插拔容器概念
简单来说,可插拔数据库就是 Oracle 对多租户概念的延展;与在应用中管理多租户不同,Oracle 在数据库中管理多租户。其结果就是管理数据库租户的效率更高。
支持更多 PDB
与初版相比,Database 12cR2 可支持更多 PDB;每个实例支持的 PDB 数量从 252 增加到 4096。PDB 显然对于想整合 Oracle 实例的客户来说非常有用,而且可能有些客户需要做如此大规模的整合。但对于大多数企业客户来说,它们更多地是间接享受到较高 PDB 密度所带来的好处 — 它们是以 Oracle 云客户的形式来享受这些好处的,因为较高的 PDB 密度能让 Oracle 更经济、更高效提供数据库即服务。
Oracle首个采用这种多租户架构的数据库云服务是 Exadata Express 云服务。它提供 Oracle 12cR2 企业版和大多数选件,运行在针对数据库优化的 Exadata 基础设施上,包括 20GB 数据容量和 24x7 客户支持,每月 175 美元。ExadataExpress 服务只能扩展至 50GB 数据和一个处理器内核,因此 Oracle 给它的定位是用于开发/测试和部门级生产负载。如果客户对性能有更高的要求,可以升级至数据库企业云服务或Exadata 云服务。
PDB“热克隆”提高可移植性
在创建新数据库(如测试/开发环境和/或云中的产品或测试环境)时,克隆非常有用。Database12cR2 支持不关闭系统对 PDB 进行克隆、刷新和重新定位。克隆并不是 Oracle 的新功能,但此版本的特别之处在于现在有了“热克隆”模式,因此可避免停机。
PDB 刷新功能让克隆的数据库能通过动态刷新更新(而非整个数据库)保持同步。PDB 重定位功能让 PDB 能在不终止应用的情况下从一个数据库容器移到另一个数据库容器。这个特性在云中的不同服务器、数据中心和计算区域之间来回切换可插拔数据库以及将数据从内部部署环境移到云(反之亦然)时非常有用。这种特性可用于将本地部署的单个数据库快速迁移到云中的多个数据库以应对需求增长。但这与将负载迁移到云中是不同的。
在将多个 PDB 整合到一个 CDB 中时,克隆和重定位 PDB 对于管理数据库资源非常有用。Database 12cR2 引入了更多资源管理特性,可以根据业务负载优先级管理 CPU、I/O 和内存资源的使用优先级。
在云中保护数据
具有讽刺意味的是,尽管企业在考虑云部署时经常担心安全问题,但事实却是,云服务提供商都直面这个挑战,通常都提供比企业内部所采用的更健壮、更新的安全措施。不管云基础设施的如何安全,许多企业的底线是得要管理加密密钥;他们规定密钥必须放在内部管理。因此,OracleKey Vault 12.2 也随Database 12cR2 一起进行了更新以满足这一要求。具体来说,只要数据中心与Oracle 公有云之间存在持久、安全的 ssl 网络连接,它就可以将云部署数据的加密密钥保存在内部部署环境中。这个功能之所有如此重要有两个方面的原因。首先,它允许组织统一管理加密密钥(只要他们的云实例运行在Oracle 公有云中)。其次,这个功能对于要求在防火墙内管理加密密钥的组织来说必不可少。
引入分库
Oracle借鉴了 NoSQL/互联网分布式数据库领域常见的一个特性。这个特性通常与部署在云中的数据库有关,因为这些数据库需要处理互联网级的流量和分布式部署等极端情况。
分库可以将数据库水平分区,在“无共享”的基础上跨多个节点运行(每个节点都是独立的,有自己的计算和存储)。它类似于无共享、大规模并行 (MPP)服务器架构中的 OLTP。分库往往与互联网业务相关,因为互联网业务的在线事务系统需要采用物理分布式架构来处理流量;但它对于跨多个节点、数据中心和/或内部部署和云扩展单个数据库的高可用性/灾难恢复场景或混合部署也很有用(详见下文)。在 Database 12cR2 中,Oracle 支持多达 100 个分库。Oracle公有云将自动把 Database 12cR2 分库;而内部部署环境中安装的 Database 12cR2 目前(发布时)则需要手动分库。
到目前为止,Oracle 的横向扩展解决方案一直是 Oracle RAC。这项技术大约在 15 年前推出,使用集群管理器(Oracle Clusterware) 来管理数据库访问流量,允许多个服务器共享数据存储以及协调读写操作。从运营方面来看,分库方案的开销要低得多;它无需使用集群管理器来引导流量,而是将数据分发到集群,在数据所在位置进行处理。但它需要更改应用层,以使负载自动路由至包含相关数据的正确分库。另一方面,RAC 对于应用负载是透明的,适用于无法分库的负载。
Oracle并不是首家提供由数据库(而非应用或中间件)管理分库的供应商;诸如MongoDB、Cassandra和 MySQL 等操作型数据库都有这个特性。但它是提供这个特性的首款企业级 SQL 数据库。
更少的管理开销
尽管“简单”这个词通常跟企业数据库八竿子打不着,但 Oracle Database12c 中引入的多租户可插拔数据库为向这个方向发展做出了一些重要贡献。那些部署多个数据库的组织将会尤其从中受益,因为它们现在可以在一个通用的管理平台上整合这些数据库。在部署第一个数据库之后,基本上不需要 DBA 再执行通常要做的配置步骤,因为所有的可插拔数据库将作为“一个”数据库在虚拟化容器数据库 (CDB) 中加以管理,并用相同的设置管理安全性、备份和恢复等日常功能。
内存选件 (in-memory) 增强
2014 年 7 月,Oracle Database 12c 的初版中引入了基于内存的压缩列存储来实现与基于磁盘的行存储(针对 OLTP)并行的实时分析。Database 12cR2 新增了许多内存选件方面的增强,包括更快的联接 (join)、表达式和 JSON,以及备用数据库支持内存选件和快速启动。在Exadata 存储上,Database12cR2 内存中数据存储格式和处理已被扩展到Exadata 的闪存缓存存储,因此可支持更大的内存占用。对于大型的企业数据库部署,“热”(常用)数据和“冷”(很少使用)数据分层是用来优化数据库运行成本和性能的重要功能。OracleDatabase 12c 能够自动根据热度来移动数据,不过初版仅支持在不同类别的磁盘之间移动数据。而在Database 12cR2 中,自动化已经扩展至内存;显然,这对于有效使用Database 12c 的内存中列存储非常重要。
与其他数据库的对比
由于内存中处理实际上已经成为一个必备功能(Ovum 认为这是分层从传统存储介质扩展至芯片的大趋势),因此有必要将Oracle 与其竞争对手对比一下。不可否认,数据库在优化内存中分析或 OLTP 方面存在差异;大多数采用的是前者,但并不都是这样。
例如,IBM BLU Acceleration for DB2 会自动从基于磁盘的行存储中分层出“热”数据,并将其持久化为压缩的内存中列存储。TeradataIntelligent Memory 采用类似的方法,但它不是将数据从行转换为列;而是采用原始格式(行或逻辑列)对内存中的热数据进行持久化。MicrosoftSQL Server 2016 则是支持在内存中进行 OLTP 处理,同时支持用列存储索引 来进行内存中分析。不过,SQL Server 需要 DBA 指定专门存储的表。在设计上采用 100% 内存中数据库的 SAP HANA 则是将冷数据分层出来移回磁盘上。SAP HANA 可提供动态分层,但分层是由应用(或存储过程)而非数据库控制的。
扩展多模式支持
我们在“Hadoop、SQL 和 NoSQL:不再是一个选择题”报告中指明了多模式数据库趋势。Oracle 并不是这一趋势的生客,它已经在支持丰富的数据类型,包括文本、富媒体、XML、JSON 和空间数据。Database 12cR2 提高了 JSON 支持的保真度,并引入了一个新的图形引擎。
保真度更高的 JSON
在初版 Database 12c 中,Oracle 增加了对异构数据类型的支持;Ovum 早就发现了数据库功能正变得更加混合这一趋势。Oracle 及其他耳熟能详的 SQL 数据库在过去几年中增加了对 JSON 的支持,但 JSON 保真度有限:JSON 文档(大多具有复杂的层次和嵌套结构)通常被展平为单个宽列。Oracle将 JSON 视为可通过“PATH”语句访问的可变字符(VARCHAR、CLOB 或 BLOB)对象。
Database12cR2 中针对 JSON 的主要增强包括:
§内存中支持 — 将 JSON 文档的属性提取并存储为内存中的列,提供了目前为止仅限于 SQL 关系数据的性能改进。
§JSON 数据指南 — 此特性可检查 JSON 文档集合和推断 SQL“模式”视图。尽管此特性不会改变 Oracle(以及大多数其他关系数据库)使 JSON 看起来像 SQL 的核心做法,但它让不熟悉 JSON 格式的 SQL 开发人员更易于操作。
§新的搜索表达式 — 这些表达式可以下钻至 JSON 数组的各个成员获得详细的信息,而在以前,要获取这些详细信息就得把 JSON 数据结构展开为单个列,使用晦涩难懂的传统 SQL-on-JSON 方法。
§PL/SQL支持 — 这让 SQL 开发人员能够更加轻松地访问 JSON。在该新版本中,PL/SQL 添加了一些用于查询 JSON 数据的特性和表达式,它们支持特定的 JSON 对象类型,可以执行 JSON 文档和 SQL 表的联接。
增强对 JSON 支持的数据库厂商并非只有 Oracle 一家;IBM (DB2) 和Teradata 也用 JSON 格式存储数据,并允许通过 API(允许细粒度地访问嵌套数据)或者使用 SQL 通过 JDBC(要求将 JSON 文档展开为关系表的单个列)访问它们。Snowflake 这个基于云的新数据仓库平台则将 JSON 数据视为允许查询嵌套数据的特殊数据类型,这种处理方式使之独树一帜。相比之下,Microsoft SQLServer 仅将 JSON 存储为文本格式,而不是作为特殊数据类型对待。
Oracle Spatial and Graph
Oracle将地理空间数据和图形数据整合在同一个数据引擎中。Database12cR2 中增加了对 PGX(一种最初专为 Hadoop 开发的并行图形技术)的支持。
图形引擎对于表示复杂的多对多关系非常有用。任何单一节点都可以与一个或多个节点的不同属性存在关系(称为“边缘”)。市场上有许多开源和专有图形引擎;然而,尽管图形引擎能用于表示有复杂关系的实体,但是图形数据库(例如 Neo4J)仅限于专业化市场,因为图形数据库复杂难懂。不过,作为一种支持各种用例(例如,绘制社交网络群体之间的相互关系,表达物联网中的复杂操作,表示欺诈模式,以及为主数据管理提供基础模型)的嵌入式引擎,只要操作人员不必直接管理其中的数据,图形技术的应用范围就会日益广泛。
PGX 图形引擎具备更加强大的性能,Oracle 称其为自己专有的图形引擎,它专门针对用于 Exadata 互连的 Infiniband 网络进行了优化。由于优秀的分区计算方法(这是图形处理中的一项挑战),其性能超过 GraphX(一种采用 Spark 计算引擎的流行的图形引擎)达 160 倍。尽管 Oracle 图形引擎是专有的,但它使用开源 TinkerPop 接口,该接口提供了一个标准的建模图形域和一种标准的分析语言 (Gremlin);因此当通过其 Java API 访问时,Oracle 的实现将看上去很标准。
分区的外部表
随着数据平台越来越多极化,数据将分散在多个目标上,因此需要一种方法来查询所有这些目标。这种想法并不新鲜了,只是联合查询和数据虚拟化的早期做法开销过高,限制了采用。
OracleBig Data SQL 提供了一种查询Oracle 数据库和Hadoop 的方法:将Hadoop 表(Hive 和 HDFS)作为虚拟化外部表投影至 Oracle 数据库。Database 12cR2 为分区的外部表提供了一种补充方法,让您能持久化虚拟化视图。分区的外部表让您能将 Hive 和 HDFS 中的表映射至 Oracle 数据库实例;另一个相关特性是支持通过分区修剪加快查询处理。Big Data SQL 可动态地为查询提供该视图,而新的分区的外部表视图则让 Big Data SQL 也可用于在逻辑数据仓库中生成物化视图。
现在,随着 Big Data SQL 3.0 版本与 Database 12cR2 的一同发布,它现在亦可用于Cloudera 或Hortonworks Hadoop 平台的任何实例。它不再仅限于在Oracle 大数据机(封装了Cloudera Enterprise)和 Exadata 上运行,因此广泛适用于Oracle 客户。
近似查询处理
在执行探索性查询时,并不一定总是要获得确切的答案。这样做的好处是获取近似答案的用时更短,因为查询未被完全处理或者目标数据较少。越大的数据集越需要这样的功能;尤其是涉及到Hadoop 中的数据时。长期以来,商用数据库一直支持查询数据样本,而Database 12cR2 则使用复杂的动态统计算法来计算近似查询结果。Database12cR2 支持按数量、百分比或中值执行快捷查询。
编制方法
本报告的编制主要基于与 Oracle 及多个参考客户的讨论,此外还结合了分析师数据库峰会和 2016 年甲骨文全球大会的信息。
延伸阅读
“方兴未艾的 Oracle 云计算网罗新客户 (Oracle's cloud momentum nets new customers)”,IT0022-000784(2016 年 9 月)
“Oracle大数据分析产品开始发力 (Oracle's BigData analytics portfolio gains critical mass)”,IT0014-003084(2015 年 12 月)
“Oracle大力发展微服务,但是在电信领域中的收益如何?(Oraclebets big on microservices but what will the payoff be in telecoms?)”IT0012-000184(2016 年 11 月)
“Oracle为云基础设施市场带来新功能 (Oracleintroduces new capabilities for the cloud infrastructure market)”,IT0022-000751(2016 年 10 月)
“OracleSaaS 业务即将爆发 (Oracle reachingcritical mass with SaaS business)”,IT0014-003101(2016 年 2 月)
Hadoop、SQL 和 NoSQL – 不再是一个选择题 (Hadoop, SQL, and NoSQL – No Longer anEither-Or Question),IT0014-002937(2014 年 9 月)
作者
信息管理首席分析师 Tony Baer
Ovum Consulting
我们希望此分析报告能够帮助您做出知情、富有想象力的业务决策。如果您有其他需要,Ovum 咨询团队将竭诚为您提供帮助。有关 Ovum 咨询服务的更多信息,请直接通过consulting@ovum.com联系我们。
版权声明和免责声明
本产品的内容受国际版权法、数据库权利和其他知识产权保护。这些权利的所有者是 InformaTelecoms and Media Limited、我们的关联公司或其他第三方许可方。本产品中包含或出现的所有产品、公司名称和徽标均为其各自所有者的商标、服务标志或交易名称,包括 InformaTelecoms 和 MediaLimited。未经 InformaTelecoms and Media Limited 事先许可,不得以任何形式或通过任何方式复制、分发或传播本产品。
尽管已经通过合理的工作来确保本产品的信息和内容在首次出版时的准确性,但 InformaTelecoms and Media Limited 或任何由 Informa Telecoms and Media Limited 聘用或雇用的人员不对任何错误、遗漏或其他误差承担任何责任。读者应独立核实任何事实和数字,我们在这方面不承担任何责任 — 读者承担使用此类信息和内容的相应责任和风险。
个人作者或贡献者在本产品中表达的任何意见和/或观点是他们的个人观点和/或意见,并不一定反映 Informa Telecoms and Media Limited 的观点和/或意见。