数据库管理-第256期 Oracle DB 23.6新特性一览(20241031)
数据库管理256期 2024-10-31
- 数据库管理-第256期 Oracle DB 23.6新特性一览(20241031)
- 1 AI向量搜索:新的向量距离度量
- 2 混合向量索引
- 3 分区:本地邻近分区向量索引
- 4 持久邻近图向量索引
- 5 稀疏向量
- 6 邻居图向量索引的事务支持
- 7 特征提取算法的向量格式输出
- 8 JSON关系二元性视图的OGG复制
- 9 JSON关系二元性视图的隐藏字段
- 10 JSON关系二元性视图的内联扩增
- 11 JSON集合视图
- 12 JSON复制
- 13 JSON查询索引路径子集
- 14 对JSON集合表的复制支持
- 15 Oracle Data Redaction增强
- 16 无会话事务
- 总结
数据库管理-第256期 Oracle DB 23.6新特性一览(20241031)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,数盟会长老会成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭
今天在上海参加Oracle PAB(Partner Advisory Bording)会议,获取到很多Oracle数据库的第一手资料,也看到了Oracle从19c开始不断的在RU中增加新功能,之前也在第225期中介绍过23.5的新增特性,这里再次简单介绍下23.6的新增特性。
1 AI向量搜索:新的向量距离度量
在23.6中,AI向量搜索新增了一个名为Jaccard distance的距离度量。这一特性允许用户在向量之间使用新的距离度量。
2 混合向量索引
混合向量索引,Hybrid Vector Index (HVI),是一种新的索引,允许用户使用全文搜索和语义向量搜索的组合轻松索引和查询他们的文档,以实现更高质量的搜索结果。
混合向量索引(HVI)通过单个索引DDL简化了将文档转换为进行向量相似性搜索和文本搜索的表单的过程。
混合向量索引提供了一个统一的查询API,允许用户运行文本查询、向量相似性查询或利用这两种方法的混合查询。这让用户可以轻松定制搜索体验并增强搜索结果。
3 分区:本地邻近分区向量索引
Partition-Local Neighbor Partition Vector Index
此功能启用了邻近分区向量索引的本地索引,优化了分区表的搜索性能。此功能在概念上为每个分区创建一个专用的向量索引,允许使用分区键过滤器的查询仅搜索相关的索引分区。因此,向量搜索更有效,在查询大型分区数据集时,响应时间显著降低。
大型企业数据集经常按关系属性进行分区,以优化性能。通过启用本地邻近分区向量索引,用户可以通过分区修剪从增强的可扩展性和加速的查询性能中受益。这种方法还确保了更高效的数据生命周期管理,使其成为处理大规模企业工作负载的理想选择。
4 持久邻近图向量索引
HNSW向量索引是一种驻留在内存中的多层图索引。重新启动时重新创建内存图所需的时间可以通过具有图的磁盘检查点镜像来改善。此功能添加了检查点格式以及框架,以获取磁盘检查点,然后使用它来重新创建内存中驻留的图结构。
重新启动后获取索引访问计划可能需要很长时间。基于更高优先级磁盘检查点的重新加载执行可以缩短重启后获取索引访问计划所需的时间。
5 稀疏向量
稀疏向量,Sparse Vectors,是通常具有大量维度的向量,但只有少数维度具有非零值。这些向量通常由稀疏编码模型(如SPLADE和BM25)生成。从概念上讲,稀疏向量中的每个维度都表示特定词汇表中的一个关键字。对于给定的文档,向量中的非零维度值对应于该文档中出现的关键字(及其变体)。
稀疏向量,如SPLADE和BM25等模型生成的向量,在关键字敏感性和域外搜索的有效性方面通常优于BERT等模型的密集向量。这种卓越的性能在精确关键字匹配至关重要的应用中尤其有价值,例如在法律或学术研究中。此外,稀疏向量通常用于混合向量搜索,它们可以与密集向量一起使用,以组合语义搜索和关键字搜索,并提供更相关的搜索结果。
6 邻居图向量索引的事务支持
HNSW索引是向量数据的内存层次图索引。在23.4和23.5中,对于在向量列上构建了HNSW索引的表,不允许使用DML。此功能允许在此类表上执行事务。此外,使用HNSW索引的向量搜索查询将根据其读取的快照看到事务一致的结果。即使在Oracle RAC上也能保证事务一致性,其中HNSW索引在群集中的所有实例上都是重复的,DML发生在群集中一个或多个实例上,并且可以在群集中任何实例上执行搜索查询。
HNSW索引是Oracle在23ai中提供的最快的向量搜索索引。因此,客户希望使用HNSW索引进行搜索查询,同时对底层表中的关系列或向量列进行DML修改。由于DML可能会使内存中的HNSW索引结构过时,因此在该项目中添加了特殊协议,以确保为客户提供事务一致的结果。
7 特征提取算法的向量格式输出
Vector Format Output for Feature Extraction Algorithm
特征提取算法产生一组特征,表示低维潜在空间中的投影。输出通常是数字和密集的。向量类型表示是自然的选择。
特征提取算法代表了一种对关系数据进行向量化的原则性方法。向量化表示可用于相似性搜索。
8 JSON关系二元性视图的OGG复制
此功能允许开发人员使用Oracle GoldenGate技术将JSON关系二元性视图数据复制为JSON文档,而不是关系表,从Oracle数据库复制到目标Oracle或非Oracle数据库。
JSON数据的复制是从非Oracle数据库到Oracle数据库的高可用性、故障转移和实时迁移的重要功能。
Oracle GoldenGate复制到非Oracle数据库,如MongoDB(文档数据库)或Redis(NoSQL键/值存储),既简单又高效,能够从JSON关系二元性视图复制JSON文档。
开发人员不需要编写复杂的JSON和SQL转换来为关系和基于文档的更新塑造数据,也不需要付出在目标数据库上重建应用程序对象的成本。
9 JSON关系二元性视图的隐藏字段
JSON关系二元视图下的表中的列可以映射到隐藏字段;也就是说,视图支持的文档中不存在的字段。
JSON关系二元视图支持的JSON文档中生成的字段可以使用隐藏字段的值。
如果二元视图支持的JSON文档不需要为每个底层列都有一个字段,特别是对于仅用于计算的列,那么它可以更简单。
10 JSON关系二元性视图的内联扩增
JSON关系二元视图生成具有对象的JSON文档,这些对象的字段映射到底层关系表的列。
可以通过添加计算字段来增强对象。例如,您可以声明一个JSON字段totalCompensation,其值由一个SQL表达式计算得出,该表达式将BONUS和SALARY列的值相加。另一个例子是将订单中所有行项目的价格加起来。计算字段是只读的。
二元视图的用户可以使用增强向应用程序传达更多信息。例如,如果你知道嵌套数组的大小,那么你可以在迭代数组之前分配适当的空间。字段计算(例如采购订单总计)可以在数据库中完成,而不是在多个客户端应用程序中单独完成。因为计算字段可以使用掩码运算符,所以可以在对象中隐藏一些信息,这是一种类似于编校的功能。
11 JSON集合视图
JSON集合视图是特殊的只读数据库视图,在名为DATA的JSON类型列中公开JSON对象。
JSON集合视图在概念上接近JSON关系二元性视图,但由于它们是只读的,因此限制较少。
12 JSON复制
CREATE/ALTER TABLE语句的logical_replication_clause子句被扩展为允许在补充日志记录下禁用和启用部分JSON更新。
部分JSON更新使复制更高效,因为需要复制或修改的数据更少。更改可以在远程复制,而不是发送所有更新的数据。使用此功能,您将在相同的硬件上体验到更好的性能,从而降低硬件成本。
13 JSON查询索引路径子集
JSON Search Index Path Subsetting
创建JSON搜索索引时,您可以指定要包含或排除在索引之外的字段:路径子集。
路径子集可以减小搜索索引的大小并提高其性能。
14 对JSON集合表的复制支持
JSON集合表可以使用GoldenGate启用逻辑复制。支持JSON关系二元视图之间的复制,以及MongoDB等第三方产品之间的复制。
复制是在Oracle数据库之间工作的基本数据库功能。它还用于促进从MongoDB等第三方数据库到Oracle数据库的在线迁移。
15 Oracle Data Redaction增强
此版本包括对Oracle Data Redaction的许多增强功能,例如优化现有功能和消除以前的限制。
Oracle Data Redaction的这些增强功能改善了整体体验。
16 无会话事务
管理事务需要在整个生命周期中将连接和会话资源绑定到事务。因此,只有在事务结束后才能释放会话或连接。这通常会导致会话/连接利用不足。在无会话事务中,启动事务后,您可以在事务的生命周期内灵活地暂停和恢复事务。会话或连接可以释放回池中,并可由其他事务重用,因此能够有效地复用事务和会话/连接。
无会话事务为应用程序提供了跨会话/连接(单实例或RAC)挂起和恢复事务的能力,而不需要外部事务管理器,也不需要应用程序协调提交和恢复协议。数据库管理事务生命周期,包括提交和恢复。应用程序性能和吞吐量受益于提交延迟的减少,因为需要更少的客户端-服务器往返。由于不需要外部协调,使用无会话事务可以大大简化中端或应用层基础设施,与外部协调事务(如XA)相比,可以显著减少停机时间。
更多关于23.6的相关信息可以通过以下网页获取并进入对应官方文档查看细节:
https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/ru_23_6.html#GUID-74910-1
总结
Oracle DB 23ai是下一个LTS版本,与以往Oracle DB版本功能固定不同,23ai(包括19c)任然在不断扩展新的特性。
老规矩,知道写了些啥。