了解 Oracle Database 23ai 如何将 AI 引入数据,通过 AI 轻松支持应用开发和关键任务工作负载。
我们将每周分享一个 Oracle Database 23ai 新特性,通过详细示例带您快速入门。请收藏本页面,每周第一时间查看 Oracle Database 23c 精选特性。
了解我们专为开发人员构建的一些功能:
AI Vector Search 支持您直接在数据库中使用业务数据构建生成式 AI 管道,从而将 AI 引入数据。易于使用的本机向量功能可让您的开发人员构建新一代 AI 应用,将关系数据库处理与相似性搜索和检索增强生成相结合。通过直接对业务数据运行向量搜索,您无需迁移数据以及管理和集成多个数据库的复杂性、成本和数据一致性问题。
开发人员应该了解的其他功能包括:
Transparent Application Continuity 可保护 C/C++、Java、.NET、Python 和 Node.js 应用免受底层软件、硬件、通信和存储层中断的影响……
Oracle Globally Distributed Database 在 Oracle Database 23c 中推出了 Raft 复制功能,让用户能够在节点或数据中心中断时,实现非常快速(不到 3 秒)的故障转移,确保零数据丢失……
Transparent Application Continuity 可保护 C/C++、Java、.NET、Python 和 Node.js 应用免受底层软件、硬件、通信和存储层中断的影响。通过 Oracle Real Application Clusters (RAC)、Active Data Guard (ADG) 和 Autonomous Database(共享和专有),即使 RAC 集群的节点或子集发生故障或进行脱机维护时,Oracle Database 也仍可继续访问。
Oracle Database 23c 带来了许多新的增强功能,包括批处理应用程序支持,例如打开游标(也称为会话状态稳定游标)。
Oracle Globally Distributed Database 在 Oracle Database 23c 中推出了 Raft 复制功能,让用户能够在节点或数据中心中断时,实现非常快速(不到 3 秒)的故障转移,确保零数据丢失。Raft 复制使用基于共识的提交协议,并通过指定复制因子以声明方式进行配置。Distributed Database 中的所有分片将充当数据子集的“引领者”和“追随者”。其中,所有分片均服务于应用流量,形成了主动—主动—主动对称分布式数据库架构。
这有助于在零数据丢失的情况下,提高可用性、简化管理并优化 Globally Distributed Database 环境的硬件利用率。
Oracle Database 23c 新推出了一个新角色 DB_DEVELOPER_ROLE,它能够为应用开发人员提供在 Oracle Database 上设计、实施、调试和部署应用所需的所有权限…
区块链和不可变表(自 Oracle Database 19c 起可用)可使用加密安全方法保护数据,防止数据被外部黑客和内部恶意/泄露账户篡改或删除。它能够通过仅插入限制来防止非授权更新或删除(即使是 DBA 操作),利用加密哈希链实施身份验证,基于签名表摘要检测任何大规模回滚,支持最终用户使用私钥对插入的行进行签名。时至今日,Oracle Database 23c 带来了丰富的增强功能,包括逻辑复制(基于 Oracle GoldenGate)和滚动升级(基于 Oracle Active Data Guard)支持;分布式事务(涉及区块链表)支持;高效、基于分区的批量删除(适用于过期的行);以及插入/提交性能优化。
Oracle Database 23c 还支持添加/删除列(不影响加密哈希链、用户特定链和关于筛选行的表摘要)、委托签名功能和数据库反签名;还使用 Oracle Flashback 和区块链历史表审计非区块链表历史变更,将加密安全数据管理扩展到了常规表。
这些功能尤其适合内置审计迹或日志使用场景,能够有效满足财务分类账、付款历史、监管合规性跟踪、法律日志和所有表示资产的数据的保护需求,防止非授权篡改和删除操作导致重大法律、商誉或财务损失。
Oracle Database 现支持您在 UPDATE 和 DELETE 语句中使用 FROM 子句将目标表连接到其它表。这些其它表可以限定可更改哪些行或为哪些行赋予新值...
现在您可以在 GROUP BY、GROUP BY CUBE、GROUP BY ROLLUP 和 GROUP BY GROUPING SETS 子句中使用列别名或指定 SELECT 项位置。此外,HAVING 子句也支持列别名...
Usage Domains(有时也称为 SQL Domains 或 Application Usage Domains)是适合用作轻量级类型修饰符的高级字典对象,可集中记录应用的预期数据使用情况...
借助 Oracle Database 23c,开发人员可以更轻松地基于 INTERVAL 值计算总值和平均值。现在,你可以通过此增强功能将 INTERVAL 数据类型传递给 SUM 和 AVG 聚合和分析函数。
多语言引擎 (MLE) 模块调用功能支持开发人员在 SQL 和 PL/SQL 中调用模块中存储的 JavaScript 函数。基于 PL/SQL 编写的调用规范能够将 JavaScript 链接到 PL/SQL 代码单元...
作为 Oracle Database 23c 的其中一项新功能,该客户端功能能够将 Oracle 配置信息(如连接字符串)存储在 Microsoft Azure 应用配置或 Oracle Cloud Infrastructure Object Storage 中…
可观测性的三大支柱分别是指标、日志记录和分布式跟踪。此发行版提供了增强的日志记录、新的调试(首次故障诊断)以及新的跟踪功能…
Oracle Database 23c 推出了 Transportable Binary XML (TBX),这是一种全新的自包含 XMLType 存储方法。TBX 支持分片、XML 搜索索引和 Exadata 下推操作,提供比其他 XML 存储选项更好的性能和可扩展性…
Oracle Database 23c 中的管道功能使 .NET、Java 和 C/C++ 应用无需等待服务器响应即可向数据库发送多个请求。Oracle Database 将对这些请求进行排队并逐个处理,以便客户端应用可以继续工作,直到收到请求完成通知。这些增强功能可改善最终用户体验、提高数据驱动的应用的响应能力,提供端到端可扩展性,避免性能瓶颈,并提高服务器和客户端的资源利用效率。
对于需要立即返回的客户端请求,Oracle Database 管道要求 .NET、Java 和 C/C++ 驱动程序中具备异步或响应式 API。这些机制可用于 Oracle Database,无论是否使用数据库管道。
对于 Java,Oracle Database 23c 在 Java Database Connectivity (JDBC)、Universal Connection Pool (UCP) 和 Oracle R2DBC Driver 中提供响应式扩展。它还支持驱动程序 (Project Loom) 中的 Java 虚拟线程以及 Reactive Streams 库,例如 Reactor、RxJava、Akka Streams、Vert.x 等。
作为 Oracle Database 23c 的其中一项新功能,该客户端功能能够将 Oracle 配置信息(如连接字符串)存储在 Microsoft Azure 应用配置或 Oracle Cloud Infrastructure Object Storage 中。此新功能使用 Oracle JDBC、.NET、Python、Node.js 和 Oracle Call Interface 数据访问驱动程序,简化了应用的云技术配置、部署和连接。这些信息存储在配置提供程序中,提供了分离应用代码和配置的优势。
可与云端和数据库的 OAuth 2.0 单点登录结合使用,进一步简化管理。Oracle Database 23c 客户端可以使用 Microsoft Entra ID、Azure Active Directory 或 Oracle Cloud Infrastructure 访问令牌登录数据库。
Oracle Database 23c 推出了 Transportable Binary XML (TBX),这是一种全新的自包含 XMLType 存储方法。TBX 支持分片、XML 搜索索引和 Exadata 下推操作,提供比其他 XML 存储选项更好的性能和可扩展性。
得益于更多数据库架构(例如分片或 Exadata)的支持及其在不同服务器、容器和 PDB 之间轻松迁移和交换 XML 数据的功能,TBX 允许您的应用在更多平台和架构上充分利用这种新的 XML 存储格式。
您可以通过以下任一方式,将不同格式的现有 XMLType 存储迁移到 TBX 格式:
Insert-as select 或 create-as-select
联机重新定义
Oracle Data Pump
JSON Relational Duality 是 Oracle Database 23c 引入的一个创新特性,它能够统一关系和文档数据模型,将两者优势结合在一起...
Oracle Database 支持使用 JSON 来存储和处理弹性模式的数据。在新版本的 Oracle Database 23c 中,Oracle Database 现已支持使用 JSON Schema 来验证 JSON 数据的结构和值...
借助 Oracle Database API for MongoDB,开发人员可以继续使用连接到 Oracle Database 的 MongoDB 工具和驱动程序,同时访问 Oracle 的多模型功能和自治驱动数据库...
Oracle Database 支持使用 JSON 来存储和处理弹性模式的数据。在新版本的 Oracle Database 23c 中,Oracle Database 现已支持使用 JSON Schema 来验证 JSON 数据的结构和值。SQL 运算符 IS JSON 经过增强,可以接受 JSON Schema,并且添加了各种 PL/SQL 函数来验证 JSON 并将数据库对象(如表、视图和类型)描述为 JSON Schema 文档。
默认情况下,JSON 数据是无模式的,这带来了极大的灵活性。但是,如果您需要确保 JSON 数据具有特定的结构和类型,可以通过行业标准的 JSON Schema 验证来完成。
为 JSON Schema 开发做出贡献
Oracle 积极推动 JSON Schema 开发,这是一款开发工具,它将基于 JSON 的声明式语言实现标准化,支持您批注和验证 JSON 文档。JSON Schema 目前正处于请求注解 (RFC) 阶段。
借助 Oracle Database API for MongoDB,开发人员可以继续使用连接到 Oracle Database 的 MongoDB 工具和驱动程序,同时访问 Oracle 的多模型功能和自治驱动数据库。客户可以在 Oracle Cloud Infrastructure (OCI) 上运行 MongoDB 工作负载。在一般情况下,现有 MongoDB 应用几乎不需要进行任何更改,只需更改连接字符串即可运行。
Oracle Database API for MongoDB 属于标准 Oracle REST Data Services 的一部分,作为 Oracle Autonomous Database 的一部分进行预配置和完全管理。
在 2023 年结束之际,让我们一起回顾 Oracle Database 23c 今年推出了哪些新特性。如果您还未试用新的 Oracle Database 发行版,尤其您还是一名开发人员,请查看此处或浏览 oracle.com/database/free 以了解各种选项。
Oracle Database 23c 推出了在线迁移工具,可编排自动化、源和目标兼容性诊断和修复,提供一体化的用户体验,简化了从 Oracle Advanced Queuing (AQ) 到 Transactional Event Queues (TxEventQ) 的过程…
Lock-Free Reservations 特性可确保并发事务在频繁更新行时继续无阻滞运行。顾名思义,Lock-Free Reservations 支持对行进行无锁保留(而不是锁定行)…
Oracle Database 23c 推出了在线迁移工具,可编排自动化、源和目标兼容性诊断和修复,提供一体化的用户体验,简化了从 Oracle Advanced Queuing (AQ) 到 Transactional Event Queues (TxEventQ) 的过程。您既可以选择短期或长期迁移方案,也可以选择在迁移过程中是否要停止 AQ,避免运营中断。
对于现有 AQ 客户,如果想要获得 Kafka Java 客户端和类似 Confluent 的 REST API 的更高吞吐量队列和 Kafka 兼容性,可以轻松地从 AQ 迁移到 TxEventQ。TxEventQ 提供可扩展性、性能、基于密钥的分区和本机 JSON 有效负载支持,有助于使用多种语言(包括 Java、JavaScript、PL/SQL、Python 等)轻松地编写事件驱动的微服务/应用。
Oracle Database 23c 提供更精细的 Oracle Database 与 Apache Kafka 应用兼容性,支持轻松将 Kafka Java 应用迁移至 Transactional Event Queues (TxEventQ)。这意味着 Kafka Java API 现在可以连接 Oracle Database 服务器,使用 TxEventQ 作为消息传递平台。
开发人员可以使用 JDBC 瘦驱动程序,轻松将现有的使用 Kafka 的 Java 应用迁移至 Oracle Database。同时,利用 Oracle Database 23c 的客户端库功能,Kafka 应用可以连接 Oracle Database(而非 Kafka 集群),并透明地使用 TxEventQ 作为消息传递平台。
注:为免疑义,本网页所用以下术语专指以下含义: