
Oracle 23ai 的 AI Vector Search 特性

AI Vector Search 是什么
Oracle 23ai 的 AI Vector Search 功能是数据库中的一项创新技术,它能将非结构化数据(如文本、图像、音视频等)转化为高维向量(Vector Embedding),进而在数据库中构建基于向量的相似性搜索能力。这一功能极大地提升了对复杂数据的搜索效率和准确性,尤其适用于人工智能和机器学习工作负载。

Oracle 的 AI Vector Search 功能包含以下三个核心层级:
- 向量生成层
它集成了多种预训练 AI 模型(如 BERT、ResNet 等)来生成向量,并支持 Open Neural Network Exchange (ONNX) 格式模型部署,以实现低延迟推理。
- 向量存储层
引入了新的 VECTOR 数据类型,最大支持维度达 4,000,并采用分片(Sharding)技术实现 PB 级向量存储。
1 | SQL> CREATE TABLE docs (doc_id INT, doc_text CLOB, doc_vector VECTOR); |
- 向量检索层
支持 ANN(Approximate Nearest Neighbor)算法,内置 HNSW(Hierarchical Navigable Small World)索引结构,实现微秒(μs)级响应。
1 | CREATE VECTOR INDEX hnsw_doc |
AI Vector Search 工作流
Oracle AI Vector Search 专为人工智能工作负载设计,支持用户基于语义和图像相似性而非单纯关键词查询数据。
它主要有以下工作流程:
一是从非结构化数据生成向量嵌入,可在 Oracle Database 内外进行,但在数据库内进行时需先按 ONNX 标准导入向量嵌入模型,且非结构化数据可在数据库内外存放;
二是将向量嵌入、非结构化数据及关系业务数据存储于 Oracle Database,若向量嵌入在数据库外存储,可通过 SQL*Loader 或 Data Pump 加载到数据库内关系表,也可通过外部表访问;
三是创建向量索引和混合向量索引,与常规表列创建索引类似,可分别为向量嵌入及非结构化数据创建向量索引和混合向量索引(结合 Oracle Text 索引和向量索引),利于在巨大向量空间中运行相似性搜索;
四是利用 Oracle AI Vector Search 的原生 SQL 操作结合相似性与传统关系键搜索,还能运行混合搜索,这种高级信息检索技术融合相似性与关键词搜索,以获得高度相关的搜索结果,SQL 和 PL/SQL 可将非结构化数据转换为多个片段,再为每个片段生成向量嵌入;
五是生成提示并将其发送给大型语言模型(LLM)以实现完整的 RAG 推理,借助向量公用程序 PL/SQL API,可用文本提示和图像(通过 LLM 驱动的界面)向 LLM 发送提示,因 LLM 在训练截止后无法访问新信息,通过提供公司最新信息可降低其编造答案的可能性,RAG 方法结合预训练语言模型(包括重新排名模型)的优势与实时从数据集或数据库检索信息的能力,Oracle AI Vector Search 支持通过 LangChain、Ollama 和 LlamaIndex 等流行框架实现 RAG 与 LLM 集成。
AI Vector Search 性能调优
在考虑 AI Vector Search 性能优化时,可以从如下三个维度着手。
- 索引结构优化
由于传统 B-Tree 索引在向量场景下失效,需根据 HNSW 索引特性调整存储参数。例如,NEIGHBORS 参数控制图结构的连接密度,EF_CONSTRUCTION 参数影响索引构建质量与速度的平衡。Oracle 还引入了新的内存结构 —— 向量内存池(Vector Memory Pool),用于存储 HNSW 向量索引和相关元数据,并通过 vector_memory_size 参数控制其大小。

- Oracle AI Vector Search 相关程序包
-
DBMS_VECTOR :简化了与 Oracle AI Vector Search 的常见操作流程,例如可以从用户数据中提取片段或嵌入式数据,能够基于给定的提示或图像生成文本,支持创建向量索引以及生成有关索引准确性的报告。
-
DBMS_VECTOR_CHAIN :支持与 Oracle AI Vector Search 进行高级操作,涵盖了数据的分块及嵌入处理,同时还具备文本生成与总结功能。它更适合用于结合相似性搜索和混合搜索的文本处理场景,其优势在于能够将各项功能以流水线的方式组合起来,从而实现端到端的搜索流程。
-
DBMS_HYBRID_VECTOR :该程序包内含基于 JSON 的查询 API SEARCH,借助它能够针对混合向量索引执行查询操作。
- 混合负载管理
在 OLTP 与向量搜索并发的场景下,可通过 Resource Manager 设置向量搜索任务组,防止 CPU 过载,确保系统稳定运行。
总结
从 Cloud 到 AI,Oracle 正全面发力 AI,AI Vector Search 是 Oracle 23ai 的新特性,并随着版本迭代不断优化。Oracle AI Vector Search 通过将非结构化数据转化为高维向量,实现了基于向量的相似性搜索,极大地提升了复杂数据的搜索效率和准确性。通过创建向量索引和混合向量索引,可以高效地进行相似性搜索和混合搜索。性能调优方面,可以通过优化索引结构、合理设置相关程序包参数以及进行混合负载管理来进一步提升性能。Oracle AI Vector Search 为 AI 工作负载提供了强大的支持,使得企业能够更好地利用非结构化数据进行智能化应用开发。
Have a nice day ~
– / END / –
- Title: Oracle 23ai 的 AI Vector Search 特性
- Author: ShawnYan
- Created at: 2025-04-21 23:00:00
- Updated at: 2025-04-21 23:00:00
- Link: https://shawnyan.cn/2025/oracle/oracle-23ai-ai-vector-search/
- License: This work is licensed under CC BY-NC-SA 4.0.