1 基本概念

1.1 定义与核心作用

向量数据库是一类面向向量数据设计的数据库系统,主要用于存储、管理和检索高维数值表示。它的核心任务,是在大量数据中快速找到与查询向量“最相近”的对象,从而支撑语义搜索、推荐、图像识别、相似内容发现等应用。

与传统数据库侧重精确匹配不同,向量数据库更关注“相似性”。在机器学习深度学习场景中,文本、图片、音频等信息常被转换为向量表示,向量数据库便承担了这些表示的高效索引与检索功能,成为智能应用中的基础组件。

1.2 向量数据的来源

向量数据通常来自模型对原始信息的编码结果。不同类型的输入内容,会经过不同的特征抽取与表示学习过程,最终形成可用于计算距离或相似度的数值向量。

1.2.1 文本向量化

文本向量化是最常见的数据来源之一。系统会将句子、段落或文档转换为语义向量,使得含义相近的文本在向量空间中距离更近。这类向量广泛用于搜索引擎、问答系统和文档聚类

1.2.2 图像与多模态向量化

图像可以通过视觉模型映射为向量,多模态模型还能够把图像、文字、视频等信息编码到统一空间中。这样,系统便可实现“以图搜图”“以文搜图”等跨模态检索能力

1.2.3 音频与行为数据向量化

音频片段、用户点击序列、浏览行为等也可转化为向量。前者常用于声音识别、片段匹配等任务,后者则常见于推荐系统和用户兴趣建模,以便刻画偏好特征和行为模式。

1.3 与传统数据库的区别

向量数据库与传统关系型数据库在设计目标上存在明显差异。前者围绕相似检索与高维计算展开,后者则以结构化数据的事务处理和精确查询为主。

1.3.1 查询方式差异

传统数据库通常通过条件过滤、主键定位或SQL查询来返回准确结果;向量数据库则更常使用近似最近邻查询,返回与输入向量最接近的一组候选项。查询结果带有一定近似性,但检索速度通常更高。

1.3.2 数据组织方式差异

关系型数据库按表、行、列组织数据,而向量数据库则以向量本体及其索引结构为核心。除向量外,系统通常还会保存元数据,以便进行补充过滤和联合检索。

1.3.3 性能目标差异

关系型数据库强调一致性、事务性和精确性;向量数据库更重视低延迟、高吞吐和召回能力。对于大规模相似性搜索任务,后者通常能提供更适合实时应用的性能表现。

2 工作原理

2.1 向量表示

向量数据库处理的核心对象是向量表示。原始内容经模型编码后,通常会被转换为若干维度的数值集合,用于计算相似度并进行检索。

2.1.1 高维特征空间

向量往往位于高维特征空间中,每一维可对应某种抽象特征。维度越高,表达能力通常越强,但计算和索引成本也会随之增加,因此需要借助专门的检索策略加以平衡。

2.1.2 嵌入模型生成

嵌入模型负责把离散或复杂的数据映射为连续向量。常见做法包括词向量、句向量、图像特征提取以及多模态嵌入等。生成质量直接影响后续检索效果。

2.2 相似度度量

相似度度量用于判断两个向量在空间中的接近程度,是向量检索的基础。不同任务会选用不同的度量方式,以适配语义关系或数值分布特征。

2.2.1 余弦相似度

余弦相似度主要衡量两个向量方向上的接近程度,对向量长度不太敏感,适合用于语义类任务。它常被用于文本检索和推荐场景。

2.2.2 欧氏距离

欧氏距离反映的是两点之间的直线距离,直观且常用。在部分特征空间中,它能较好地表示样本之间的差异程度。

2.2.3 点积相似度

点积相似度结合了方向和幅度信息,在一些排序和召回任务中较为常见。其计算方式简洁,便于与模型训练目标结合。

2.3 近似最近邻检索

由于高维空间中全量比较代价较高,向量数据库通常采用近似最近邻检索方法,在可接受的误差范围内快速找出最相近的候选向量。

2.3.1 全量扫描

全量扫描是最直接的方法,即将查询向量与库中所有向量逐一比较。它实现简单,但在数据规模较大时效率较低,通常只适用于小规模或离线场景。

2.3.2 加速检索策略

为提升速度,系统会引入图索引、聚类、哈希或量化等方法,将搜索范围缩小到局部区域。这样既减少了计算量,也能维持较高的结果质量。

2.3.3 召回率精确率平衡

近似检索的关键在于平衡召回率和计算成本。搜索范围越大,召回率通常越高,但延迟也会增加;若过度追求速度,则可能遗漏最相似的结果。

3 核心功能

3.1 向量存储

向量数据库首先需要稳定存储大规模向量及其关联信息,并支持高效写入与更新,以满足不断增长的数据规模。

3.1.1 批量写入

批量写入适合在数据导入或离线建库阶段使用。系统可一次处理多条向量记录,从而提升写入效率并减少频繁提交带来的开销。

3.1.2 实时更新

实时更新用于处理新增样本、变更样本或删除样本。对于需要持续接入新内容的业务,更新能力直接影响系统的可用性和检索一致性。

3.2 向量索引

索引是向量数据库的核心能力之一。通过构建合适的索引结构,系统可以显著缩小搜索空间,加快查询响应。

3.2.1 分层图索引

分层图索引通过多层近邻连接组织数据,查询时从上层逐步导航到下层,从而在较少比较次数内逼近目标结果。它在大规模检索中应用广泛。

3.2.2 聚类索引

聚类索引会将向量划分为若干簇,查询时先定位到最可能相关的簇,再在簇内进行细化搜索。这种方法有助于降低扫描范围。

3.2.3 哈希索引

哈希索引借助哈希映射将相似向量放入相近桶中,以便快速定位候选集合。它在某些特定分布下具有较好的检索效率。

3.3 过滤与混合检索

实际应用中,向量检索往往不会单独使用,还会结合元数据、关键词或业务规则进行联合筛选。

3.3.1 元数据过滤

元数据过滤用于按类别、时间、来源、标签等条件缩小候选范围。这样可以先过滤掉明显不相关的数据,再进行向量相似度排序。

3.3.2 关键词与向量联合查询

关键词查询擅长精确匹配,向量查询擅长语义匹配。二者结合后,系统既能识别字面相关内容,也能捕捉语义相近但表达不同的对象。

3.3.3 多阶段排序

多阶段排序通常先通过粗检索得到候选集,再进行更精细的重排。这样可以兼顾速度与质量,适合搜索和推荐等要求较高的场景。

3.4 数据管理

数据管理能力关系到系统的稳定性、可维护性和扩展能力,是向量数据库工程化的重要部分。

3.4.1 分区与分片

分区与分片可将海量向量分散到不同节点或存储单元中,以便提升并发处理能力并降低单点压力。

3.4.2 副本与容错

通过副本机制,系统可以在部分节点失效时继续提供服务。容错设计则有助于提高可用性并减少数据丢失风险。

3.4.3 生命周期管理

生命周期管理包括数据的创建、更新、归档和删除等过程。对于时效性较强的业务,合理的生命周期策略能节省存储资源并维持检索效率。

4 系统架构

4.1 存储层

存储层负责保存向量、索引以及相关元数据,是整个系统的数据基础。

4.1.1 向量文件与索引文件

向量文件存放原始向量或压缩后的向量表示,索引文件则保存用于加速检索的结构信息。二者通常协同工作,以支持查询和恢复。

4.1.2 元数据存储

元数据存储记录对象的附加属性,如类别、时间戳、来源和业务标签等。它为过滤查询和结果解释提供支持。

4.2 计算层

计算层负责执行检索、索引构建和在线服务,是向量数据库的运行核心。

4.2.1 检索服务

检索服务接收查询向量,调用索引并返回相似候选结果。其性能直接决定用户体验,尤其是在高并发场景下更为关键。

4.2.2 索引构建服务

索引构建服务负责生成和更新索引结构。对于不断增长的数据集,索引构建效率和增量更新能力尤为重要。

4.3 接口层

接口层用于向上层应用暴露访问能力,通常以标准化方式连接业务系统与底层存储检索引擎。

4.3.1 API 调用

API 调用是最常见的交互方式,开发者可以通过查询、插入、更新和删除等接口完成数据管理与检索操作。

4.3.2 SDK 与客户端

SDK 与客户端封装了常用功能,降低了集成门槛。它们通常提供更友好的调用方式,并适配不同编程语言和运行环境。

4.4 部署形态

向量数据库可根据数据规模和业务需求采用不同部署方式,以平衡成本、性能和运维复杂度。

4.4.1 单机部署

单机部署适合测试、原型验证或小规模业务。其优点是架构简单,维护成本较低,但扩展能力有限。

4.4.2 分布式部署

分布式部署可将计算和存储分散到多个节点,适用于大规模数据和高并发场景。它通常具备更好的横向扩展能力。

4.4.3 云原生部署

云原生部署强调弹性伸缩、自动化运维和服务编排,适合需要快速扩展、按需分配资源的现代应用环境。

5 典型应用

5.1 语义搜索

语义搜索利用向量表示理解查询意图,从而返回表达方式不同但含义接近的内容。

5.1.1 文档检索

在文档检索中,系统可根据用户输入的主题或问题,查找语义相关的文章、说明或记录,提升检索的自然语言理解能力。

5.1.2 问答检索

问答检索会根据问题向量快速定位可能包含答案的片段,为后续回答生成或人工检索提供候选依据。

5.2 推荐系统

推荐系统常利用向量空间中的邻近关系,寻找与用户偏好或商品特征相似的对象。

5.2.1 相似商品推荐

相似商品推荐通过比较商品向量,向用户展示外观、功能或风格接近的替代品和搭配品。

5.2.2 用户兴趣召回

用户兴趣召回会将用户行为编码为向量,再从候选库中找出相近内容,以提高推荐的相关性和覆盖面。

5.3 大模型应用

向量数据库在大模型应用中常被用作外部记忆或知识检索层,以补充模型参数之外的信息。

5.3.1 检索增强生成

检索增强生成通常先从向量数据库中检索相关资料,再将结果提供给生成模型,从而提高回答的准确性和时效性。

5.3.2 知识库问答

知识库问答依赖向量检索定位知识条目,再结合自然语言处理生成答案,适合企业文档和资料库场景。

5.4 多模态检索

多模态检索支持在不同类型内容之间建立关联,拓展了传统文本检索的应用范围。

5.4.1 以图搜图

以图搜图通过图像向量比较,寻找视觉特征相似的图片,常用于素材管理、相册整理和视觉检索。

5.4.2 以文搜图

以文搜图则根据文本描述寻找匹配图片,适用于内容创作、商品搜索和多媒体资源管理。

5.5 异常检测与聚类

向量数据库也可用于发现异常样本和数据聚类,帮助识别模式和分布特征。

5.5.1 相似样本发现

相似样本发现能快速找出同类或近似记录,用于案例比对、重复内容识别或样本归类。

5.5.2 离群点识别

离群点识别通过分析向量与邻域的差异,找出与大多数样本明显不同的对象,常用于风控、质量分析和监测任务。

6 关键技术指标

6.1 检索延迟

检索延迟指查询发出到返回结果之间的耗时。它是衡量用户体验和系统实时性的核心指标之一。

6.2 吞吐量

吞吐量反映系统在单位时间内能够处理的查询或写入请求数量。高吞吐通常意味着更强的并发服务能力。

6.3 索引构建时间

索引构建时间决定数据导入后多久可以进入可检索状态。对于批量更新频繁的系统,这一指标尤为重要。

6.4 召回率

召回率衡量系统找回真正相关结果的能力。召回率越高,表示候选结果越不容易遗漏。

6.5 存储开销

存储开销包括向量本体、索引结构、元数据及副本带来的额外空间消耗。不同压缩和索引策略会显著影响这一指标。

6.6 扩展性

扩展性是指系统在数据量和请求量增长时,是否仍能维持稳定性能。良好的扩展性有助于支持持续增长的业务需求。

7 代表性索引结构

7.1 图索引

图索引将向量之间的邻近关系组织成图结构,适合进行高效近邻搜索。

7.1.1 小世界图

小世界图利用节点之间较短的路径特性,使查询能够较快接近目标区域。此类结构常用于高性能向量检索。

7.1.2 导航式搜索

导航式搜索会从入口节点出发,沿着更接近目标的方向逐步移动,直至找到更优候选。其优势在于搜索过程灵活且效率较高。

7.2 倒排与聚类结合结构

这类结构结合了分桶思想和簇内搜索机制,在减少扫描范围方面具有一定优势。

7.2.1 中心点划分

中心点划分先选取若干代表性中心,再把向量分配到最近中心附近。查询时只需关注少数相关区域即可。

7.2.2 近邻重排

近邻重排会在粗筛阶段之后,对候选结果进行更精细的距离计算,从而提高最终排序质量。

7.3 压缩与量化方法

压缩与量化方法旨在降低存储占用和计算成本,同时尽量保持检索效果。

7.3.1 向量压缩

向量压缩通过减少冗余信息来节省空间,适合规模较大的向量库。压缩程度过高可能影响精度。

7.3.2 产品量化

产品量化会将高维向量拆分为多个子空间分别编码,再组合成紧凑表示。它常用于大规模近似检索。

7.3.3 标量量化

标量量化通过降低数值精度来减少存储和计算开销,适合对空间效率要求较高的场景。

8 选型与使用

8.1 选型因素

选择向量数据库时,通常需要结合业务规模、查询模式和一致性要求进行综合判断。

8.1.1 数据规模

数据规模决定了系统是否需要分布式架构、压缩索引或更强的扩展能力。小规模业务可优先考虑部署简便性。

8.1.2 查询模式

若应用以高频查询为主,应更关注低延迟和高并发;若写入频繁,则需要重视更新效率与索引维护成本。

8.1.3 一致性要求

不同业务对数据可见性和同步时效的要求不同。对一致性要求较高的场景,应优先评估系统的副本机制和更新策略。

8.2 数据预处理

预处理会直接影响向量质量与索引效果,是正式建库前的重要步骤。

8.2.1 清洗与去重

清洗与去重可减少无效数据和重复样本,提高检索结果的稳定性,也有助于降低存储浪费。

8.2.2 向量归一化

向量归一化可以统一数值尺度,减少长度差异对相似度计算的影响,常用于余弦相似度场景。

8.2.3 维度管理

维度管理包括控制向量长度、选择合适的表示方式以及避免过高维度带来的性能压力。合理的维度设计有助于提升整体效率。

8.3 性能调优

性能调优通常围绕索引参数、缓存和并发策略展开,以改善检索体验并降低资源消耗。

8.3.1 索引参数调整

不同索引类型都有相应参数,如搜索深度、分支数或候选数量。适当调整这些参数,能够在速度与召回之间取得更合适的平衡。

8.3.2 缓存策略

缓存可加快高频查询的响应速度,减少重复计算。合理设置热点数据缓存,往往能显著改善系统表现。

8.3.3 并发控制

并发控制用于协调多请求同时访问系统时的资源分配,防止过载或竞争导致性能波动。

9 发展趋势

9.1 与大模型深度融合

随着大模型应用普及,向量数据库正从单纯的检索引擎,逐步演变为模型外部知识和记忆管理的重要组成部分。

9.2 多模态统一检索

未来系统将更强调跨文本、图像、音频等类型的统一表示与检索能力,以支持更加自然的多模态交互。

9.3 更强的混合检索能力

混合检索会继续增强关键词、结构化条件与向量相似度的协同能力,使系统在精确性和语义理解之间取得更好平衡。

9.4 实时化与低延迟化

在在线业务驱动下,向量数据库会更加注重实时写入、快速更新和毫秒级响应,以适应不断变化的数据环境。

9.5 轻量化与边缘部署

随着终端算力提升,轻量化向量检索方案将更适合边缘设备和本地应用,为离线场景和低资源环境提供支持。