数据库管理-第376期 Oracle AI DB 23.26新特性一览(20251016)

数据库管理376期 2025-10-16

数据库管理-第376期 Oracle AI DB 23.26新特性一览(20251016)

text 复制代码
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE

10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有"总监"称号,非著名社恐(社交恐怖分子)

公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809
IFClub:胖头鱼的鱼缸
除授权转载并标明出处外,均为"非法"抄袭

Oracle AI Database 26ai,虽然基础版本还是23,但是具体版本号从23.9直接跳到了23.26,。前面版本新增特性可参考:
数据库管理-第225期 Oracle DB 23.5新特性一览(20240730)
数据库管理-第256期 Oracle DB 23.6新特性一览(20241031)
数据库管理-第287期 Oracle DB 23.7新特性一览(20250124)
数据库管理-第316期 Oracle DB 23.8新特性一览(20250417)
数据库管理-第349期 Oracle DB 23.9新特性一览(20250717)

针对原来使用23ai数据库的用户,可以直接打补丁升级到26ai,不需要进行大版本原地升级或者迁移升级。下面是23.26新特性一览:

AI向量搜索:JDBC完成对二进制格式稀疏向量的支持

Oracle新增了oracle.sql.VECTOR.SparseBooleanArray接口,用于表示稀疏二进制向量(SPARSE BINARY VECTOR)数据。

该接口的实例主要有两大用途:

  1. 可传递给PreparedStatement的setObject方法,用于创建稀疏二进制向量类型的绑定值。
  2. 可由ResultSet的getObject方法返回。此转换支持所有向量维度类型,而非仅支持二进制类型。

该特性为使用 "向量+ 稀疏二进制格式" 的Java应用提升了开发效率与运行性能。

对象存储中外部表的自动缓存

自动外部表缓存会透明地缓存对象存储中频繁访问的外部表,缓存方式可以是全量缓存,也可以是部分缓存。

该功能对外部数据性能的提升体现在以下三点:

  1. 通过透明缓存频繁访问的内容,直接提升外部数据的处理速度。
  2. 无需修改任何应用代码,即可启用该功能,降低使用门槛。
  3. 数据库会自动处理缓存管理与生命周期管理,在实现更快、更高效查询的同时,减少人工运维操作。

创建二元视图的GraphQL语法增强

为便于在JSON关系二元性视图中使用GraphQL,提供了以下语法增强:

  1. 注释(Comments)
  2. 新指令:@cast、@object和@array
  3. 增强指令:@generated、@link和@where
  4. 支持全限定表/列名
  5. 用于过滤的示例查询(Query-By-Example,QBE)谓词(类似 SQL 的 WHERE 子句)
  6. 简化的QBE:使用查询参数作为谓词

这些增强使 GraphQL 在创建双重视图时具备更高的灵活性。

GraphQL Schema的自创建API

PL/SQL函数get_graphql_schema可让你构建针对关系型模式的GraphQL Schema。

GraphQL模式可帮助你理解GraphQL类型(即数据库表)之间如何相互关联,以及如何为该数据库创建GraphQL查询。

SQL的GraphQL表函数

SQL表函数graphql允许你使用GraphQL开源查询语言查询Oracle数据库。

应用开发者可借助GraphQL的 "所见即所得"语法获益,这种语法对那些不太熟悉SQL的开发者而言尤其实用------开发者编写的查询结构与最终返回的数据结构高度一致,能直观控制所需数据,无需额外处理冗余结果。

热图(Heat Map)保留时间

热图保留时间(Heat Map Retention Time)允许用户设置热图数据在被数据库删除前的保留天数。热图数据包含数据访问和数据修改的跟踪信息,用户可通过新的PL/SQ 包DBMS_HEAT_MAP_ADMIN指定保留时间,范围从1天到4294967294天。

设置保留时间能帮助用户优化存储资源------通过清理不再需要的热图数据,避免无效数据占用存储空间,提升数据库存储利用率。

Data Guard命令行的JSON输出

Oracle Data Guard命令行工具(DGMGRL)如今支持以JSON格式展示输出结果。用户可选择这种结构化格式,让数据更易于处理和复用,不再局限于传统的纯文本输出。

JSON 格式输出带来的核心价值体现在以下两点:

  1. 能轻松与自动化工具和脚本环境集成,无需额外适配纯文本的复杂格式。
  2. 用户可通过编程方式解析结果、串联工作流,省去手动处理纯文本结果的操作,直接提升工作效率。

JSON复制

在CREATE TABLE和ALTER TABLE语句的逻辑复制子句(logical_replication_clause)中,新增了以下选项,允许用户控制JSON变更的日志记录方式:不再总是记录整个JSON文档,现在可以选择仅记录被修改的部分(PARTIAL JSON),或继续记录完整文档(NO PARTIAL JSON)。

部分JSON日志记录通过仅捕获和传输JSON数据中被修改的部分来提高复制效率。这减少了网络和存储开销,加快了复制速度,并能在现有硬件上实现更好的性能------从而降低整体基础设施成本。

存在绑定变量时结合游标共享的物化视图查询重写

此增强功能使查询重写在过滤谓词中存在用户绑定变量时仍能生效。通过在包含性检查期间启用绑定变量窥视,以前需要硬解析的查询现在可以更高效地利用物化视图。这还改进了重写后查询的游标共享,减少了解析开销,并在严重依赖绑定变量的系统中提升了性能。

此功能消除了使用绑定变量时在查询重写和游标共享方面的关键限制。它使物化视图能更广泛地用于带有基于绑定变量的过滤条件的查询,并允许重写后的查询共享游标,减少硬解析,从而提升整体查询性能和响应时间。

内存加速列存储(Memory Speed Columnar)

内存高速列存储增强功能是混合列存储压缩(Hybrid Columnar Compression)的下一代技术。现有混合列存储压缩(HCC)采用磁盘数据格式,该格式最适合分析型工作负载,但不支持内存列存储格式。内存高速列存储引入了一种新的压缩单元(Compression Unit,简称 CU)数据格式,支持在所有存储层级中进行内存高速列存储扫描,并消除了HCC、Exadata闪存列存储格式与数据库内存(Database In-Memory)格式之间的列存储格式不兼容问题。内存高速列存储增强功能是现有混合列存储压缩语法的可选扩展,可与现有HCC对象共存。

内存高速列存储增强功能提升了磁盘扫描的效率,具体通过以下方式实现:一是利用内存格式,二是支持创建更大的磁盘压缩单元(CU),这有助于提升处理效率(例如单指令多数据(SIMD)操作)。新格式消除了HCC、Exadata闪存列存储与数据库内存列存储格式之间的不兼容问题,最大限度减少了数据转换操作。因此,分析型工作负载通常能从中获益,包括CPU使用率降低、查询性能提升,且存储效率可与现有混合列存储压缩能力相当。

在分片空间移动数据chunk

通过Oracle全球分布式数据库的复合分片方法(composite sharding method),数据会被组织到不同的分片空间(shardspaces)中,你可以借此区分不同的数据子集;但在过去,为实现负载均衡而进行的自动chunk迁移 仅能在单个分片空间内进行。如今,Oracle全球分布式数据库支持在现有分片空间之间迁移数据块,也可将部分数据迁移到新添加的分片空间中。

你可根据新的业务需求安排分片数据,例如为特定客户提供新级别的服务或资源,或将客户从某一服务等级迁移到另一服务等级,同时保持区域数据主权(regional data sovereignty)。

RESETTABLE关键字

PL/SQL中新增的RESETTABLE关键字可用于表明,某个包在重新实例化期间可以安全地丢弃其状态。

RESETTABLE关键字会标记那些在重新实例化时无需保留信息的包。当你确定可以安全丢弃包的状态时,这一特性能帮助你避免出现ORA-4068: existing state of packages has been discarded during patches when you know that the package state can be discarded without issue错误。

将切换与故障转移限制在指定数据库列表内

Oracle Data Guard Broker的PrimaryDatabaseCandidates属性会列出在切换(Switchover)或故障转移(Failover)过程中可成为主数据库(Primary Database)的数据库。该属性能对角色转换(主库与备库角色变更)实施更精细的控制,帮助用户防止激活非预期的数据库。此外,还提供一种可选的覆盖模式(override mode),支持在不修改现有策略的情况下执行紧急故障转移。

此功能提升了管理数据库环境中的可控性与可预测性。企业可针对 "哪些数据库可作为主库" 制定业务、合规或操作层面的规则,从而降低操作失误带来的风险。同时,覆盖命令(override command)能确保紧急情况下仍可执行关键故障转移,且会同步显示相应警告信息。

MLE JavaScript中的SQL对象和集合

多语言引擎(Multilingual Engine,简称MLE)现已支持对象和集合数据类型。这些类型现在可在调用规范中用作IN、OUT和IN OUT函数参数,也可作为返回类型。

对用户定义类型和集合的支持,扩展了多语言引擎在应用程序中的可用用例。

MLE JavaScript中的稀疏向量支持

可将向量的存储格式指定为稀疏(SPARSE)或稠密(DENSE)。稀疏向量通常是指维度数量较多,但非零维度值极少的向量。

除了可能带来性能提升外,对于非零值极少的情况,稀疏向量相比对应的稠密向量还能节省大量存储空间。库内JavaScript(In-Database JavaScript)的用户将从稀疏向量支持中获益。

对 QUALIFY 子句的支持

QUALIFY子句用于筛选SELECT语句中分析函数的结果。QUALIFY子句与分析函数的关系,类似于HAVING子句与GROUP BY子句的关系。

若不使用QUALIFY子句,要筛选分析函数的输出结果,唯一的方法是嵌套查询------在父查询中应用筛选条件。这种方式不仅更冗长,还会增加额外的维护成本,且可能让阅读者难以理解查询的真实意图。而QUALIFY子句可解决所有这些问题。

遥测流(Telemetry Streaming)

遥测流(Telemetry Streaming)为Oracle AI Database提供了一套全面的、即开即用的指标流与可观测性解决方案。其核心功能包括以下三点:

  1. 支持通过REST和PL/SQL实现超高速指标摄入(metrics ingestion)。
  2. 允许用户通 SQL、PL/SQL或PromQL(Prometheus 查询语言)查询指标数据,以满足监控和告警需求。
  3. 自动执行数据生命周期管理,包括对旧指标数据的压缩和下采样(downsampling),从而长期优化存储占用与系统性能。

指标流对现代企业的核心场景至关重要,例如DevOps监控、资产跟踪和异常检测。尽管Oracle AI Database提供了构建指标流解决方案的顶尖功能,但手动组装这些组件不仅复杂,还耗费时间。遥测流则通过将Oracle的强大技术打包成精简的、即用型解决方案,简化了这一过程,最终帮助指标流应用实现更快部署、更易管理,并降低运维成本。

总结

本期是Oracle AI Database 26ai改名后的第一期新特性一览,还是带来了很多扩展。

老规矩,知道写了些啥。

相关推荐
麦聪聊数据3 小时前
浅谈SQL审核(一):SQL审核实现方式与常见工具的选择
数据库·sql
瑞禧生物ruixibio3 小时前
4-ARM-PEG-Pyrene(2)/Biotin(2),多功能化聚乙二醇修饰荧光标记生物分子的设计与应用探索
arm开发·人工智能
大千AI助手3 小时前
Huber损失函数:稳健回归的智慧之选
人工智能·数据挖掘·回归·损失函数·mse·mae·huber损失函数
ajassi20003 小时前
开源 Linux 服务器与中间件(七)数据库--MySQL
linux·服务器·数据库·ubuntu·开源
墨利昂4 小时前
10.17RNN情感分析实验:加载预训练词向量模块整理
人工智能·rnn·深度学习
【建模先锋】4 小时前
一区直接写!CEEMDAN分解 + Informer-LSTM +XGBoost组合预测模型
人工智能·lstm·ceemdan·预测模型·风速预测·时间序列预测模型
韩立学长4 小时前
【开题答辩实录分享】以《自然灾害隐患点管理信息系统》为例进行答辩实录分享
数据库·spring boot
fsnine4 小时前
YOLOv2原理介绍
人工智能·计算机视觉·目标跟踪
迎風吹頭髮4 小时前
Linux服务器编程实践58-getnameinfo函数:通过socket地址获取主机名与服务名
开发语言·数据库·php