一文带你了解 Oracle 23ai 新特性 Vector 的基础用法

alt

Oracle Database 23ai 来了,虽然目前只是云上可商用,但是 OP 有 FREE 版本可以进行开发。

本文将介绍 Oracle 23ai 的新特性之一: AI 向量搜索,的部分内容。

向量数据类型

23ai 新增向量数据类型,可以用于表示一系列的数值,这些数值可以代表不同的含义,比如在几何学中代表点的坐标,在机器学习中代表特征向量等。

示例:

创建一张订单表,并使用 VECTOR 字段类型。

-- vector data type
CREATE TABLE orders 
(order_id INT, order_vector VECTOR);

查看表定义:

SQL> select dbms_metadata.get_ddl('TABLE','ORDERS');

DBMS_METADATA.GET_DDL('TABLE','ORDERS')
--------------------------------------------------------------------------------

  CREATE TABLE "SYS"."ORDERS"
   (    "ORDER_ID" NUMBER(*,0),
        "ORDER_VECTOR" VE

这里被截断了,换个窗口查看。

alt

插入数据:

insert into orders values (1'[1, 2]'), (2'[2, 2]'), (3'[3, 3]');

查看数据:

SELECT * FROM ORDERS;
SQL> SELECT * FROM ORDERS;

   ORDER_ID ORDER_VECTOR
___________ ______________________ 
          1 [1.0E+000,2.0E+000]    
          2 [2.0E+000,2.0E+000]    
          3 [3.0E+000,3.0E+000]    

向量内存池

向量内存池(Vector Memory Pool) 是在 SGA 中分配的内存,用于存储 HNSW (Hierarchical Navigable Small World) 向量索引和所有相关的元数据。它还用于加速倒置平面文件(IVF)索引的创建以及对具有IVF索引的基表的DML操作。

alt

可以通过如下命令修改向量内存池的大小。

ALTER SYSTEM SET vector_memory_size=1SCOPE=SPFILE;

show parameter vector_memory_size;

VECTOR_MEMORY_POOL 用于监视 向量内存池 的使用情况。

select CON_ID, POOL, ALLOC_BYTES/1024/1024 as ALLOC_BYTES_MB, 
USED_BYTES/1024/1024 as USED_BYTES_MB
from V$VECTOR_MEMORY_POOL order by 1,2;
alt

此外,启动数据库实例时,也可以看到向量内存区域的大小。

SQL> startup;
ORACLE instance started.
...
Vector Memory Area       1073741824 bytes

向量索引

向量索引是一类专门的索引数据结构,旨在使用高维向量加速相似度搜索。使用诸如聚集、分区和邻居图之类的技术来对表示相似项的向量进行分组,这大大减少了搜索空间,从而使搜索过程非常高效。

Oracle AI 向量搜索支持以下几种基于近似最近邻(ANN)搜索的向量索引方法:

  • 内存中的邻居图向量索引 (In-Memory Neighbor Graph Vector Index)
  • 邻居分区矢量索引 (Neighbor Partition Vector Index)

两者语法也有所区别:

-- INMEMORY NEIGHBOR GRAPH
CREATE VECTOR INDEX vector_index_name 
ON table_name ( vector_column )
GLOBAL ] ORGANIZATION INMEMORY NEIGHBOR GRAPH
WITH ] [ DISTANCE metric name ]
WITH TARGET ACCURACY percentage_value ]
PARAMETERS ( TYPE             
{ HNSW , { NEIGHBORS max_closest_vectors_connected 
  |  M max_closest_vectors_connected }         
  ,  EFCONSTRUCTION max_candidates_to_consider  
  |
  IVF , { NEIGHBOR PARTITIONS number_of_partitions 
  | SAMPLE_PER_PARTITION number_of_samples
  | MIN_VECTORS_PER_PARTITION min_number_of_vectors_per_partition }
}]
PARALLEL degree_of_parallelism ]


-- NEIGHBOR PARTITIONS
CREATE VECTOR INDEX <vector index name>
ON <table name> ( <vector column> )
[GLOBALORGANIZATION NEIGHBOR PARTITIONS
[WITH] [DISTANCE <metric name>]
[WITH TARGET ACCURACY <percentage value
[PARAMETERS ( TYPE IVF, { NEIGHBOR PARTITIONS <number of partitions> | SAMPLE_PER_PARTITION
    <number of samples> | MIN_VECTORS_PER_PARTITION <minimum number of vectors per partition>
})]]
[PARALLEL <degree of parallelism>];

示例:

在 ORDER 表的向量字段上创建索引。

CREATE VECTOR INDEX VIDX_ORDERS_1
ON orders ( order_vector )
ORGANIZATION INMEMORY NEIGHBOR GRAPH;

查看向量索引

Oracle Database 23ai 新增 Vector 系统视图,用于查看索引。

示例:

查看上面创建的索引 VIDX_ORDERS_1

SELECT IDX_NAME, IDX_PARAMS FROM VECSYS.VECTOR$INDEX;
alt

关于向量的参数

23ai 中新增 3 个向量相关参数,分别是:

  • vector_memory_size

初始化参数 VECTOR_MEMORY_SIZE 指定向量池的当前大小(在 CDB 级别)或 PDB 允许的最大向量池使用量(在 PDB 级别)。

  • vector_index_neighbor_graph_reload

初始化参数 VECTOR_INDEX_NEIGHBOR_GRAPH_RELOAD 会在实例重启后通过后台任务自动逐一加载 HNSW 索引。

  • vector_query_capture

初始化参数 VECTOR_QUERY_CAPTURE 用于启用和禁用查询向量的捕获。

alt

总结

关于 23ai 中 AI Vector Search 的基础知识,先介绍到这里,希望对你有所帮助。

往期回顾

  • Oracle 数据库全面升级为 23ai
  • MySQL 8.4.0 LTS 发布 (MySQL 第一个长期支持版本)

-- END --

alt

如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/598860.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PyTorch单点知识】深入理解与应用转置卷积ConvTranspose2d模块

文章目录 0. 前言1. 转置卷积概述2. nn.ConvTranspose2d 模块详解2.1 主要参数2.2 属性与方法 3. 计算过程&#xff08;重点&#xff09;3.1 基本过程3.2 调整stride3.3 调整dilation3.4 调整padding3.5 调整output_padding 4. 应用实例5. 总结 0. 前言 按照国际惯例&#xff0…

3399 ubuntu系统启动后,gpio已被初始化问题查找

问题描述: 使用cat /sys/kernel/debug/gpio后发现,gpio-55已经被设备树初始化了。 如果要找到这个引脚的设置代码,需要一点点查找。这里记录了比较快速的办法 gpio引脚变换 gpio-55需要转换成对应的引脚编号 根据https://blog.csdn.net/ch122633/article/details/120233…

C语言实现面向对象—以LED驱动为例

点亮一个LED 常见的LED代码 分层分离思想 面向对象的LED驱动 LED左边高电平。 当LED右边为低电平时&#xff0c;LED有电流通过&#xff0c;LED亮。反之&#xff0c;LED灭 GPIO功能描述&#xff1a; 点亮LED的步骤及代码&#xff1a; 开启GPIO的时钟 配置GPIO为输出模式 …

前端数据可视化基础(折线图)

目录 前言&#xff1a; 画布&#xff1a; 折线图 (Line Chart): 前言&#xff1a; 前端中的数据可视化是指将大量数据以图形或图像的形式在前端页面上展示出来&#xff0c;以便用户能够更直观地理解和分析这些数据。数据可视化是一种强大的工具&#xff0c;它利用了人类视觉…

城市二手房数据分析与房价预测

实现功能 数据分析 二手房价格-时间分析 二手房数量-时间分析 二手房分布-区域分析 二手房户型分析 二手房朝向分析 二手房价格-区域分析 二手房热词词云 房价预测 采用合适的算法模型&#xff0c;对模型进行评估。通过输入影响因素输出预测价格。 采用技术与框架 M…

在Unity中实现分页数据显示和分页控制

参考&#xff1a;用两种简单的方式实现unity的分页效果 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Rendering.VirtualTexturing; using UnityEngine.TerrainUtils;public class PageControll…

五一反向旅游,景区“AI+视频监控”将持续助力旅游业发展

一、建设背景 每年五一劳动节出去旅游都是人挤人状态&#xff0c;这导致景区的体验感极差。今年“五一反向旅游”的话题冲上了热搜&#xff0c;好多人选择了五一之后再出去旅游&#xff0c;避开拥挤的人群&#xff0c;这个时候景区的监管力度和感知能力就更要跟上去&#xff0…

Gradio之blocks灵活搭建页面

这里写目录标题 搭建一个UI界面搭建上半部分的框架比例调节以及其他效果搭建下半部分左边部分搭建下半部分右边部分拓展-CSS的应用 使用标签搭建第二个页面示例 补充AccordionGroup() 搭建一个UI界面 搭建上半部分的框架 如下图&#xff0c;我们想要基本还原下图右边的UI界面…

AI去衣技术在动画制作中的应用

随着科技的发展&#xff0c;人工智能&#xff08;AI&#xff09;已经在各个领域中发挥了重要作用&#xff0c;其中包括动画制作。在动画制作中&#xff0c;AI去衣技术是一个重要的工具&#xff0c;它可以帮助动画师们更加高效地完成工作。 AI去衣技术是一种基于人工智能的图像…

如何自己快速的制作流程图?6个软件教你快速进行流程图制作

如何自己快速的制作流程图&#xff1f;6个软件教你快速进行流程图制作 自己制作流程图可以是项目管理、流程设计或教学展示中的重要环节。以下是六款常用的流程图制作软件&#xff0c;它们都提供了快速、简单的方式来制作流程图&#xff1a; 迅捷画图&#xff1a;这是一款非…

Azide-PEG-Azide,82055-94-5可以用于制备抗体、蛋白质、多肽等生物分子的标记物

【试剂详情】 英文名称 Azide-PEG-Azide&#xff0c;N3-PEG-N3 中文名称 叠氮-聚乙二醇-叠氮&#xff0c;聚氧乙烯二叠氮化物 CAS号 82055-94-5 外观性状 由分子量决定&#xff0c;粘稠液体或者固体。 分子量 0.4k&#xff0c;0.6k&#xff0c;1k&#xff0c;2k&#…

用友GRP A++Cloud 政府财务云 任意文件读取漏洞复现

0x01 产品简介 用友GRP A++Cloud 政府财务云系统具有多项核心功能,旨在满足各类组织的财务管理需求。首先,它提供了财务核算功能,能够全面管理企业的总账、固定资产、现金、应付应收等模块,实时掌握企业的财务状况,并通过科目管理、凭证处理、报表分析等功能为决策提供有…

启明云端ESP8266+企业微信考勤机项目,多种方式认证能防止代打

智能考勤机需要有识别功能&#xff0c;用户容量&#xff0c;记录容量限制&#xff0c;还有物联网通讯方式&#xff0c;最后衔接到云平台&#xff0c;最后就是根据具体需求来设计。 ①识别方式&#xff1a;现如今市场上的考勤机主要有人脸、指纹、IC卡和ID卡等多种识别方式。不…

虚拟机文件夹共享操作(本地访问)

新建一个文件夹 右击文件夹点击属性 找到共享 点击共享 选择本地用户共享就可以了 本地winr 输入我们图片中的格式&#xff08;IP前加 “\\” &#xff09; 会弹一个窗口&#xff0c;输入虚拟机的入户名和密码就可以共享了&#xff08;一般默认用户名都是administrator&am…

人工智能-2024期中考试

前言 人工智能期中考试&#xff0c;认真准备了但是没考好&#xff0c;结果中游偏下水平。 第4题没拿分 &#xff08;遗传算法&#xff1a;知识点在课堂上一笔带过没有细讲&#xff0c;轮盘赌算法在书本上没有提到&#xff0c;考试的时候也没讲清楚&#xff0c;只能靠猜&…

Linux进程——Linux进程与进程优先级

前言&#xff1a;在上一篇了解完一部分常见的进程状态后&#xff0c;我们先来把剩下的进程状态了解一下&#xff0c;再来进入进程优先级的学习&#xff01; 如果对前面Linux进程不太熟悉可以先阅读&#xff1a; Linux进程 本篇主要内容&#xff1a; 僵尸进程和孤儿进程 Linux进…

绘画作品3d数字云展厅提升大众的艺术鉴赏和欣赏能力

3D虚拟展厅作为未来艺术的展示途径&#xff0c;正逐渐成为文化创意产业蓬勃发展的重要引擎。这一创新形式不仅打破了传统艺术展览的局限性&#xff0c;更以其独特的魅力吸引着全球观众的目光。 3D虚拟艺术品展厅以其独特的魅力&#xff0c;助力提升大众的艺术鉴赏和欣赏能力。观…

python - rst file to html

文章目录 python - rst file to html概述笔记下载安装PyCharm最新的学习版新建虚拟环境为Conda的工程添加docutils库新建python文件&#xff0c;添加转换代码运行自己写的python文件&#xff0c;执行转换转换结果END python - rst file to html 概述 开源工程中有一个.rst文件…

自动驾驶主流芯片及平台架构(一)

零部件成本下降、中低端车竞争加剧&#xff0c;推动ADAS渗透率在中国市场快速提升&#xff0c;自主品牌ADAS装配量大幅提升 零部件成本下降、中低端车竞争加剧&#xff0c;推动ADAS渗透率在中国市场快速提升&#xff0c;自主品牌ADAS装配量大幅提升。5年前在一些高端车型上才有…

(持续更新升级)火爆的ChatGPT源码+高质量AI绘画系统+分销功能+详细图文搭建部署教程

随着人工智能技术的迅猛发展&#xff0c;智能对话和创意艺术不再是遥不可及&#xff0c;而是可以触手可及的现实。 分享一款集ChatGPT源码、高质量AI绘画系统以及强大分销功能于一体的系统源码&#xff0c;对接了大名鼎鼎的ChatGPT接口及Midjourney两个王牌接口&#xff0c;另…