行业动态
Industry News
热门课程
400电话

免费咨询热线
400-090-9964

行业动态

Oracle Database 23c:下一个长期支持版本

时间:2023-10-11 来源:

“我们很高兴地宣布,世界上功能强大的数据库Oracle database 23c的新版本现已在OCI Oracle Base database Service上全面可用。我们还借此机会更新了流行的Oracle数据库免费版本,可在此处下载。Oracle数据库内部部署、Exadata、Exadata数据库服务、客户处的Exadata云发布(ExaC@C)和自治数据库(ADB)计划稍后跟进。”


Oracle数据库23c

该版本着眼于增强开发人员的能力,简化数据库中人工智能(AI)的使用,以及对数据库的一系列其他改进,该数据库以其无与伦比的高可用性、一流的性能和铁一般的安全性支持而闻名。更重要的是,这个新版本增强了Oracle Database业界领先的聚合数据库方法,支持JSON、XML、Graph、Spatial、Text和Relational用于任何工作负载,同时允许开发人员选择任何开发风格。

在本博客中,我们将介绍一些新功能,并向您介绍其他资源,以帮助您浏览这个令人兴奋的新版本。

人工智能创新

对于数据科学家和开发人员来说,建立真正反映数据库中数据的分析模型可能是一项挑战。如今,开发人员努力从数据库中提取大型数据集,然后试图找到一个能给他们带来准确结果的机器学习(ML)模型,这种情况并不少见。因此,我们将数据挖掘和机器学习算法直接构建到Oracle数据库中,并提供工具帮助您找到最佳算法,以提供快速准确的结果。多年来,我们不断改进并向数据库中添加新的机器学习算法,并增强工具以帮助您选择正确的算法。Oracle Database 23c延续了这一传统,对数据挖掘和ML功能进行了几项关键改进,例如改进了XGBoost和广义线性模型算法,以提高其预测准确性。

最近,随着生成型人工智能和GPT-3等大型语言模型(LLM)的巨大进步,人工智能世界向前迈出了巨大的一步。我们才刚刚开始感受到这些变化的影响,因为它们开始在教育、医疗保健、商业等领域推动人工智能应用的进步。为了帮助开发人员和分析人员利用Oracle数据库中的这些最新变化,我们引入了新功能,使您能够在不损害数据安全的情况下,将LLM的功能与数据库结合使用。现在,您可以用自然语言(或通过API)与Oracle数据库“聊天”,让它使用数据上下文回答复杂的查询。在接下来的几个月里,我们计划扩展这种人工智能功能,使您能够为数据库和开发工具的各个方面生成代码。

进一步扩展Oracle数据库的人工智能功能,我们正在数据库中添加对人工智能矢量搜索的支持。矢量在人工智能中用于表示图像、文档和视频等非结构化数据的内容。每个向量都是一系列称为维度的数字,这些数字捕捉了非结构化数据的关键特征。向量通常由神经网络生成,表示数据的语义内容,而不是底层单词或像素。

虽然可以在Oracle数据库19c中存储和查询矢量,但我们将在Oracle数据库23c中添加原生矢量数据类型以及优化的矢量相似性搜索索引,以大大提高查询性能。新的SQL函数和运算符将使创建、操作和查询向量与Oracle数据库中已经支持的其他数据模型(包括JSON、Spatial、Graph等)相结合变得更加容易。

简化开发人员的旅程

SQL

不可能低估SQL对软件行业的影响。它是一种以标准为导向、易于阅读的语言,已在整个行业和每种类型的数据库中得到普遍接受,无论是键值、文档、图形还是关系数据库。

Oracle数据库是按照SQL优先的原则设计的,正因为如此,我们努力将SQL做得比其他任何人都好。在过去的40年里,我们不断地推动使用这种简单而强大的语言可以实现的目标。从Oracle的早期,我们的SQL利用了数据库的行级锁定和读取一致性功能,到最近,我们使用SQL来利用Document和Graph数据模型的强大功能。

我们通常是第一个实现大量SQL标准的商业数据库,这些标准使查询更大、更复杂的数据集变得更容易。为了确保开发人员的SQL始终具有性能,我们增强了Oracle数据库以优化执行,无论它是用于分析系统还是操作系统。并行查询、实时物化视图、内存列存储等技术确保了快速可扩展的执行。

在Oracle数据库23c中,我们对SQL层进行了一些改进。其中包括

    · 使用域,允许开发人员定义列所代表的内容,如电子邮件、信用卡、邮政编码等。

    · 注释为开发人员提供了一种集中化对象的丰富描述性元数据的方法

    · 一种新的布尔数据类型

    · 直接加入更新

    · 删除了在简单select语句中对“from dual”的需要

    · GROUP BY使用别名

    · 间隔上的聚合

    · 表值构造函数使在插入、选择或合并语句中指定多行变得容易

    · PL/SQL到SQL的转换程序

还有很多…

在Oracle Database 23c的整个生命周期中,我们将继续改进对SQL的支持,以确保它是世界上用于管理任何规模的复杂任务关键型工作负载的最佳数据库。

JSON

在Oracle Database 23c中,我们的JSON功能超过了竞争对手提供的功能。自Oracle Database 12c以来,我们使客户不仅可以从使用JSON构建应用程序所提供的灵活性中受益,还可以从世界领先的数据库引擎为数据管理和分析提供的所有好处中受益。

JSON和Relational都有各自的优势和劣势。在构建应用程序时,开发人员通常必须从两种数据模型中选择一种,并接受其缺点,或者关注对象关系映射框架及其带来的所有复杂性和问题。

    · 文档优点:直接的应用程序开发(编程对象映射、获取/放置访问、通用交换格式)

    · 关系优势:一致性、空间效率、规范化(灵活的数据组合/组合/聚合)

在Oracle数据库23c中,我们引入了JSON关系对偶视图。这项突破性的技术使开发人员能够利用这两种数据模型的优势。开发人员可以使用首选访问模型(PUT、GET、DELETE)构建使用JSON文档作为主要数据持久性模型的应用程序。他们还可以在需要的地方利用关系模型。由于关系数据模型和文档数据模型都有单一的真实性来源,因此开发人员可以在整个开发周期中利用这两种模型。

Oracle数据库以关系形式存储数据,但允许您以文档或行形式检索和更新数据。您可以通过SQL、REST、Oracles SODA API甚至Oracle Mongo API来实现这一点。

为了实现这项突破性的技术,我们添加了一个新的乐观锁定模型和关于如何修改JSON文档的细粒度控制。Optimistic锁定模型提供了高并发性的好处,而不会丢失竞争数据库中常见的更新。

除了引入JSON关系对偶,我们还通过添加

    · JSON架构支持

    · 改进的JSON搜索索引性能

    · 对JSON_TRANSFORM SQL运算符的改进

属性图

图形数据库提供了一种不同的方法来建模现实世界中存在的复杂关系。然而,直到最近,开发人员用于导航这些关系的语言和用于存储这些关系的数据库都是专有的。这阻碍了这项重要技术的采用。好消息是,业界已经团结起来,努力批准标准,这意味着开发人员可以从SQL带来的选择自由中受益。Oracle Database 23c是第一个实现这一新标准的商业数据库,我们相信这些变化将有助于推动Graph数据库进入企业的核心。

新功能使定义图模型的节点和边以及查询它们的SQL扩展变得简单。在本例中,我们使用新的DDL语法从CUSTOMERS和CUSTOMER_RELATIONSHIP表创建属性图。客户表示图中的节点,客户关系(朋友、配偶、子女、父母等)表示边。

在这里,我们可以找到与客户Maria Smith是朋友类型的客户(最多2跳,如{1,2}所示)

我们在这里展示的只是图形分析所能提供的功能。Oracle Database 23c解决方案的真正威力来自于在运营数据之上运行图形分析的能力。如果没有这种紧密的集成,您以前需要将数据提取到第二个专业的初始数据库中。这反过来又导致了与保持两个数据存储库同步相关的问题,以及额外的计算和存储资源的成本。将数据保存在一个数据库中,使我们能够对欺诈检测和推荐等用例的数据进行实时图形分析。

缓存

在应用层缓存数据是一种重要的开发模式。它可以从我们的数据库中删除很大一部分工作负载,甚至可以减少查询的延迟。然而,它也有自己的一系列挑战。目前市场上的许多解决方案都迫使开发人员决定应该缓存什么、缓存多长时间、是什么导致数据从缓存中删除、缓存失败时会发生什么、数据的中间形状以及许多其他决定。这导致开发人员被迫开发复杂的代码来管理他们的中端缓存。

在Oracle Database 23c中,我们将引入True Cache。此解决方案简化了针对Oracle数据库的缓存。开发人员只需将无盘True Cache实例部署到中端,然后让Oracle管理其余实例。Oracle Database 23c使用“Active Dataguard”技术来确定缓存是否与主实例中的最新更改一致,并在缓存中不存在数据(缓存未命中)时检索数据。使用最少的应用程序代码更改来标记哪些代码应该使用缓存,从与主数据库服务器保持同步的弹性高性能缓存中获益是前所未有的简单。

还有许多其他开发人员的改进

我们只谈到了为改进Oracle Database 23c中的开发人员体验而进行的一些增强。我们没有足够的空间来涵盖微服务SAGA模式支持、免锁预订、更快的jdbc数据加载、用于TxEventQ的Kafka API、Oracle JVM JDK11支持、改进的XML和JSON文本索引…等等。请参阅《Oracle Database 23c新功能指南》以获得更全面的细分。

数据库安全

Oracle数据库是世界上最安全的数据库之一。全世界成千上万的客户都依赖它来保护他们最关键的任务数据。然而,我们总是可以做更多的事情,不仅在保护数据方面,而且在简化操作方面。在以前的版本中流行的一个功能是Oracle SQL防火墙。以前,它在一个单独的层上运行,拦截SQL,只允许SQL通过已批准的层。这种方法实际上消除了对数据库最常见的安全攻击之一:SQL注入。

在Oracle数据库23c中,我们直接在数据库中构建了一个新版本的SQL防火墙。直接集成到数据库内核中提供了一个更安全、更易于管理的模型。要使用SQL防火墙,您所需要做的就是开始捕获SQL,直到您确信您拥有要放入“允许列表”中的所有SQL为止。一旦创建了这个允许列表,就可以打开SQL防火墙,防止恶意SQL在数据库中运行。您可以向SQL防火墙添加其他规则,例如允许从支持的IP地址或支持的应用程序执行任何SQL。

除了SQL防火墙之外,我们还在Oracle数据库23c中添加了一个新的“DB_DEVELOPER_ROLE”,它为开发人员提供了在Oracle数据库23c中设计、构建、部署和维护应用程序所需的所有权限。此托管权限集减少了数据库的总体攻击面。我们还添加了对在模式级别授予特权的支持。此更改旨在使授予权限变得更容易,但也简化了在模式中添加和删除对象时对脚本的维护。

我们在身份验证、审核和加密方面添加了更多改进,这些改进太多了,无法在本博客中介绍。所有这些都有助于强化这样一个事实,即我们相信市场上没有更安全的数据库来存储您的数据。

高可用性

除非您的数据库可以访问,否则我们在前几节中介绍的令人印象深刻的功能意义不大。然而,Oracle数据库在最苛刻的领域提供最高级别的可用性方面有着良好的记录。Real Application Clusters(RAC)、Data Guard、RMAN、Golden Gate和Sharding等技术可确保您始终可以访问数据。在发生灾难性的基础设施故障时,您可以快速恢复在线。

Oracle数据库23c具有许多新的增强功能,使数据库对故障更有弹性。它还添加了一些要求很高的功能,例如打开在容器内运行的备用可插拔数据库的能力,只读。这允许将报告卸载到备用容器,类似于Oracle Database 19c Active Data Guard中针对非容器数据库的功能。

对于RAC和RAC One Node,我们还添加了对本地滚动数据库维护的支持。这将从运行数据库的同一物理服务器上的现有Oracle Home创建第二个Oracle Home。然后启动数据库的第二个实例,使您能够在本地执行滚动修补操作。这可以缓解服务器之间移动大量会话可能造成的中断。

我们还添加了对Oracle RAC两阶段滚动更新的支持。在以前的版本中,有些数据库修补程序无法滚动应用。这可能导致成本高昂且难以安排的停机。在Oracle数据库23c中,您现在可以选择在成功修补集群中的所有节点之后应用这些非滚动修补程序。这种方法极大地减少了潜在的停机,并使几乎所有的非滚动补丁都可以滚动。

其他增强功能

Oracle数据库23c中有很多改进,因此我们需要比这篇博客更多的时间和空间来介绍它们。例如

对流行错误消息的改进,现在通过附加上下文提供更多详细信息,帮助您更快地解决问题

    · 闪存数据档案历史记录表现在可以是区块链表。这意味着对表的更改记录是不可变的,并且是加密签名的

    · 能够收缩表空间以恢复空间

    · 表现在最多可以有4096列

    · 无限制的数据加载意味着在对表执行其他DML操作之前不需要提交

还有许多其他。在接下来的几周里,我们将发布关于这些和许多其他功能的博客,以更深入地了解这些新功能如何影响您使用Oracle数据库。

升级到Oracle数据库23c

升级到Oracle Database 23c的众多动机之一是五年的首要支持和三年的扩展支持。这种长期支持对于Oracle数据库用于支持的许多任务关键型工作负载至关重要。我们非常认真地负责提供业界最可靠的数据库。我们已经花费了无数的计算时间来运行测试和修复问题,以确保从数据库的第一个初始版本开始,我们就尽我们所能提供最稳定的Oracle数据库版本。

要升级到Oracle数据库23c,您需要确保使用的是Oracle数据库19c或21c版本。如果您使用的是早期版本,则需要首先升级到其中一个版本。或者,如果您有一个相对较小的数据库或足够大的升级窗口,您也可以使用Oracle Data Pump将数据导出并导入到新创建的Oracle database 23c实例中。如果从19c或21c升级,我们强烈建议使用自动升级工具。它大大简化了流程。

总结

我们刚刚谈到了这个重要版本中提供的许多功能中的一些。要帮助您发现数百种新功能中的更多功能,请查看以下内容:

    · Oracle Live Labs:我们已经建立了几个研讨会,使您能够试用Oracle Database 23c功能。我们计划在未来几周内增加这些研讨会并增加新的研讨会

    · Oracle Database 23c新功能指南:该指南对所有新功能进行了全面的细分,并将其分解为各个功能领域。此外,还可以试用“Oracle功能和许可”在线应用程序,它可以更容易地查看各个版本中发生的变化

    · Oracle数据库23c功能网页:此网页提供有关Oracle数据库23c中一些关键功能的信息和短视频

    · Oracle数据库23c博客:除了这个博客,来自Oracle数据库开发组织的PM和开发人员还整理了几个关于他们一直在开发的各种功能的博客。下面是我们将在创建其他Oracle数据库23c博客时更新的短列表。

    · JSON关系对偶视图

    · Oracle数据库23c高可用性

    · 属性图

    · SQL防火墙

    · 架构级别权限

    · SQL Tran

作者:Dominic Giles

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright ALL Rights Reserved 京ICP备11008061号-1

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com www.cuug.net

电话:010-59426307 010-59426319 邮政编码:100089

地址:北京市海淀区北清路164号28-38号院