0

官宣:Oracle Database 21c为您带来无限可能

甲骨文云技术 2021-01-14
141
摘要:就在刚才,美国时间2021年1月13日。Oracle VP William Hardie先生与大家分享Oracle Database 21c如何为成为All Things Database。

就在刚才,Oracle副总裁威廉姆.哈迪先生( 来自Oracle Database Product Management)在官方网站为大家介绍Oracle Database 21c的创新功能。

Oracle Database 21c介绍:

Oracle database 21c是世界上最流行的数据库的最新创新版本,目前在Oracle 数据库云端服务的Virtual Machine(适用于RAC和单实例)和裸金属服务中已经向大家提供服务。在阿什本(IAD)、菲尼克斯(PHX)、法兰克福(FRA)和伦敦(LHR)地区的免费自治数据库服务中也可以使用该版本。面向on-prem平台(包括Exadata、Linux和Windows)的通用Oracle Database 21c也将稍后在2021年推出。

实现数据驱动未来

Oracle一贯认为在聚合数据库中存储和管理数据比分解成多个单一使用的数据引擎更有效和高效,因为多个单一数据库不可避免地会导致数据完整性、一致性和安全问题。简单地说,聚合数据库是一个多模型、多租户、多工作负载的数据库。Oracle数据库完全支持多种数据模型和访问方法,在确保隔离的同时简化了整合,并擅长于典型的数据库工作负载用例——包括操作和分析。我们通过下面视频为您介绍。

因此,Oracle的21c作为融合数据库为客户提供了:对所有数据类型(例如关系、JSON、XML、空间、图形、OLAP等)的最佳支持,以及对所有操作、分析和其他混合工作负载的业界领先的性能、可伸缩性、可用性和安全性。Oracle的融合策略也确保了开发人员可以从Oracle Database 21c的所有关键功能中受益(例如ACID事务、读一致性、并行扫描和DML、在线备份等),让开发人员可以专注于开发应用程序,而不必担心数据持久性等问题。

21C当中的新特性

这个最新的创新版本引入了许多新特性和增强功能,进一步扩展了数据库用例,提高了开发人员、分析人员和数据科学家的工作效率,并提高了查询性能。下面列出的是Oracle数据库21c的一个子集。想要获得更全面的评论,请参阅新功能指南或数据库功能和许可应用程序。或者,您可以在阅读如下文章了解Oracle Database 21c的一些新特性 !

Oracle Database 21c新特性讲座(1)

Oracle Database 21c新特性讲座(2)

Oracle Database 21c新特性讲座(3)

Oracle Database 21c新特性讲座(4)

Oracle Database 21c新特性讲座(5)

区块链表

区块链作为一项技术,在解决与交易验证相关的许多问题当中,已经做出了很大的贡献。虽然在将这种技术引入企业方面取得了相当大的进展,但仍存在一些问题。可以说,最大的问题是构建支持分布式分类账的应用程序的复杂性。Oracle数据库21c通过引入区块链表解决了这个问题。这些表的操作与普通堆表一样,但有许多重要的区别。其中最值得注意的是,在将行插入表时,行被加密散列,以确保以后不能再更改行数据。

这实际上创建了一个仅提供插入的表,用户无法更新或删除区块链表中的记录。此外,还防止用户在特定的时间限制内截断数据、删除分区或删除区块链表。这些重要的功能意味着其他用户可以相信区块链表中保存的数据是准确的、无篡改的记录。

原生JSON数据类型

Oracle在Oracle Database 12c中引入了对JSON的支持,将JSON数据存储为VARCHAR2或LOB (CLOB或BLOB)。这使开发人员能够构建具有无模式设计模型的灵活应用程序,并具有Oracle数据库的所有功能。例如,用户可以使用标准SQL查询JSON文档,利用高级分析,索引单个属性或整个文档,同时并行处理数十亿个JSON文档。Oracle还提供了一些工具来发现JSON文档由哪些属性组成,从而轻松地在集合之上创建关系视图。开发人员也可以使用Java、Node.js, Python, C和REST通过SODA(简单对象数据API) API来访问他们的Oracle数据库,把它当作一个NoSQL数据库使用。

在Oracle数据库21c中,通过原生数据类型“JSON”,对JSON的支持得到了进一步增强。这意味着不必在读取或更新操作时解析JSON,而只在插入操作时进行解析,然后JSON以内部二进制格式保存,这使得访问速度更快。这可能加快读取和更新操作4到5倍的速度,对非常大的JSON文档的更新提升20到30倍访问速度。

CREATE TABLE j_order

新的数据类型并不是Oracle Database 21c中对JSON引入的唯一更改,Oracle还添加了一个新的JSON函数JSON_TRANSFORM,这使得在一次操作中更新和删除文档中的多个属性变得更加简单。

UPDATE j_order SET po_doc = JSON_TRANSFORM( po_doc,

Oracle还为集成驱动程序和工具(如Data pump和GoldenGate)增加了新的JSON数据类型的兼容。

在Oracle数据库内部执行JavaScript

JavaScript是一种无处不在的脚本语言,它的众多用途之一是在web应用程序和移动应用程序中实现更丰富的用户交互。它是为数不多的在web浏览器中运行的语言之一,可以用于开发客户端和服务器端代码。有大量现有的JavaScript库用于实现复杂的程序,并且JavaScript可以与流行的开发技术(如JSON和REST)协同工作。

在Oracle Database 21c中,开发人员数据库内部执行JavaScript代码片段。这允许他们执行JavaScript计算任务,而不必将数据移动到中间层或浏览器。Oracle Database 21c中的多语言引擎(MLE)由GraalVM驱动,可以自动将JavaScript数据类型映射到Oracle数据库的数据类型,反之亦然,这样开发人员就不必自己处理数据类型转换。此外,JavaScript代码本身可以通过内置的JavaScript模块执行PL/SQL和SQL。所有这些都使APEX开发人员能够在APEX应用程序中使用JavaScript作为一级语言,而不必牺牲PL/SQL和SQL的功能。下面是一些使用DBMS_MLE PL/SQL包来执行JavaScript代码的示例:

set serveroutput on;

SQL宏

随着连接数量的增加,或者对检索数据执行的操作变得更加复杂,SQL语句的复杂性也会增加。开发人员也经常尝试通过使用存储过程和表函数来简化这些常规操作。这可以很好地简化代码,但可能会牺牲性能,因为SQL引擎会切换PL/SQL引擎的上下文。在Oracle Database 21c中,SQL宏解决了这个问题,它允许将SQL表达式和表函数替换为对存储过程的调用,该存储过程返回一个要插入到我们想要执行的SQL中的字符串文字。这是一个难以置信的简单概念,C和Rust程序员对这种技术不会陌生。下面的简单示例展示了它的实际应用。

首先我们创建一个表,然后插入一些数据。

CREATE TABLE line_items

下面的SQL计算LINE_ITEMS表中记录的增值税。

SELECT id,

但是,Oracle Database 21c可以通过创建一个带有SQL_MACRO关键字的函数并返回一个字符串来进行简化。

CREATE OR REPLACE FUNCTION total_price_with_tax(the_price FLOAT, the_item_type VARCHAR2)

然后,开发人员只需在select语句中引用SQL宏。执行的SQL与原始SQL语句完全相同,不会再有每次获取行记录执行此函数时进行上下文切换的开销。

SQL> SELECT id, total_price_with_tax(price, item_type) AS total_price_with_tax

同样值得注意的是,开发人员可以在创建参数化视图和多态表时使用相同的方法。

In-Memory增强

与使用基于行的模型相比,使用列模型分析数据可以大幅提高性能。然而,但使用行保存数据时,更新数据要比用列保存快得多。Oracle In-Memory的独特之处在于它允许用户从这两种方法中受益。有了这个功能,用户可以不加修改地运行他们的应用程序,并且Oracle数据库将在内存中维护一个列存储,支持极快的实时分析查询。

Oracle Database 21c引入了三个主要的功能增强,Oracle Database In-Memory的性能和易用性:

  • In-Memory向量连接:通过使用最新增强的深度向量化SIMD框架,Oracle In-Memory可以加速对内存中列存储中列的哈希连接等操作。在散列连接的情况下,连接被分解为可以传递给向量处理器的更小的操作。所使用的键-值表是SIMD优化的,用于匹配连接的左右两边的行。这种方法可以使连接性能比传统方法提高10倍。

  • 自我管理的In-Memory列存储:当Oracle Database In-Memory首次发布时,用户必须显式声明哪些列将被填充到内存中的列存储里面。如果内存紧张,需要客户做很多干预的操作才能提升性能。Oracle Database 18c引入了这样的功能:如果对象被活跃地使用,它将自动地将对象放到列存储中,并删除那些没有被活跃地使用的对象。然而,用户仍然必须指出要考虑的对象。在Oracle Database 21c中将INMEMORY_AUTOMATIC_LEVEL设置为HIGH,确保所有对象都被考虑到——从而简化了管理内存列存储的工作。

  • In-Memory混合列扫描:通常不可能将每个表的每个列都填充到列存储中,因为内存是有限的。在许多情况下,这并不是一个问题,但偶尔用户可能会遇到需要同时来自列存储的数据和只在行存储中的数据进行混合查询。在Oracle Database 21c中,优化器现在可以选择扫描内存中的列存储,并在需要时从行存储中获取投影列值。这可以显著提高性能。

其他增强技术

请参考Oracle Database 21c New Features Guide获取所有新特性细节讯息,但这里有一些值得注意的增强,DBA、开发人员、分析人员和数据科学家会感兴趣:

  • 在init.ora当中使用表达式:现在可以将数据库参数(init.ora)作为系统配置计算的基础,例如,在操作系统可用cpu数量的一半设置为数据库参数CPU_COUNT。

  • 自动区域映射:运行在Exadata上的Oracle Database 21c现在可以基于查询中使用的谓词自动创建分区映射。以前,这是一个手动操作,要求用户理解如何访问数据。自动区域映射可以显著减少需要扫描的块的数量。

  • 数据库内的机器学习算法:内置在Oracle数据库中的算法使数据科学家能够利用Oracle数据库的强大功能来构建直接运行在数据库表中数据上的预测模型(使用超过30个机器学习算法),而不是将数据提取到文件系统或专门数据库中进行“沙箱”分析。Oracle Database 21c增加了对MSET-SPRT和XGBoost算法的支持,以及对神经网络算法的Adam优化求解器的支持。

  • 自动机器学习:Oracle Database 21c通过为数据库提供Python机器学习接口,使数据科学家和分析师更容易利用数据库内置的机器学习技术。这个新的客户端工具补充了现有的R和SQL接口。Auto ML通过自动化模型选择、特征选择和参数调整过程来简化预测机器学习模型的开发,这些过程都是建立精确模型所必需的。

  • 优化的图模型:图可以由数百万甚至数十亿条边和顶点组成,因此我们在Oracle Database 21c中对图的存储性能进行了优化,可以为您的模型带来更大的空间和性能改进。

  • Sharding增强:Oracle Sharding支持超大规模应用程序的线性可伸缩、故障隔离和地理分布,同时保留SQL的灵活性。为了方便针对Oracle分片开发Java应用程序,我们引入了一个新的Java数据源,它使得获取连接变得更加简单,而无需定义分片键或显式地管理连接键。我们还提高了分片的容错性,如果分片在执行过程中出现故障,数据库会自动寻找替代分片。

  • 持久化内存的支持:Oracle Database 21c包括对PMEM文件系统的支持,与使用SSD或机械硬盘的传统文件系统相比,PMEM文件系统可以提供更低的延迟和更大的带宽。但是,使用它们的应用程序需要了解如何安全地对它们进行写入,以及将它们与其他操作系统资源结合使用的最有效方法。Oracle Database 21c提供了数据一致性写入,可以在意外断电时安全地防止写操作丢失。它还提供了使用内存复制的快速I/O操作。此外,它通过直接从PMEM存储读取以及有效地使用数据库缓冲区缓存,大幅度提升查询性能。

创新版本和长期服务版本

Oracle Database 21c是一个创新版本,旨在让客户更快地创新,在工作负载用例和应用程序方面提供新的和增强的功能,从而从中受益。同时,我们的客户需要了解的是,与长期版本不同,创新版本的支持窗口有限(通常为2年)。因此,为了保持业务连续性,仍然在运行先前版本(例如11gR2, 12cR1, 12cR2, 18c)的客户,我们建议您升级到Oracle Database 19c——当前的长期版本,我们对Oracle Database 19c的支持将一直持续到2027年4月。关于Oracle Database 21c更多的资讯,请参阅MyOracle support (MOS) note 742060.1。

关于Oracle Database 21c的新特性操作介绍,您可以参考如下链接:

Oracle Database 21c新特性讲座(1)

Oracle Database 21c新特性讲座(2)

Oracle Database 21c新特性讲座(3)

Oracle Database 21c新特性讲座(4)

Oracle Database 21c新特性讲座(5)

编辑:殷海英

最后修改时间:2021-01-14 08:36:46
「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
最新发布
暂无内容,敬请期待...
数据库资讯
最新 热门 更多
本月热门
近期活动
全部
暂无活动,敬请期待...
相关课程
全部
暂无课程,敬请期待...