向量数据库(Vector Database, VDB)是一种专门设计用于高效存储、管理和检索高维向量数据(通常称为向量嵌入,Embeddings)的数据库系统。

它是大模型时代(如 GPT-4 等 LLM)和人工智能应用的核心基础设施之一。

1. 核心工作原理

要理解向量数据库,需要从数据如何被 AI 理解和检索的过程来看:

  • 向量化与嵌入(Embedding): 计算机无法直接理解文章、图片或音视频等非结构化数据。AI 模型(如嵌入模型)会将这些非结构化数据,转化为一串固定长度的数字(即高维稠密向量),用来代表这块数据的“语义特征”。例如,意思相近的词语(如“小狗”和“犬”)在被转化为向量后,它们在数学空间里的位置会非常接近 。

  • 语义相似度计算: 传统数据库是根据“关键词是否完全一致”来查询的。而向量数据库则是通过计算两个向量在空间中的数学距离(如余弦相似度内积欧氏距离)来衡量它们的语义相关性。这使得用户即使输入了不同的表达方式,系统依然能找到语义最相关的结果(即语义搜索) 。

2. 为什么需要专属的向量数据库?

传统的关系型数据库在面对海量高维向量检索时会遭遇性能瓶颈:

  1. 计算复杂度极高:

    如果数据库里有 $1,000$ 万条数据,每次查询都要与每一个向量计算一次距离(即暴力暴力检索,kNN),计算量呈线性暴增(时间复杂度为 $O(N)$),无法满足实时响应的要求。

  2. 近似最近邻(ANN)算法的引入:

    向量数据库引入了 ANN 索引算法,通过构建特殊的索引结构,在牺牲极少精度(召回率)的情况下,将检索耗时缩短至毫秒级。常见的索引算法包括:

    • HNSW(分层可导航小世界图): 通过在内存中构建多层近邻图,检索速度极快,召回率极高(通常在 95% 以上),但非常消耗内存 。

    • IVF-PQ(倒排文件乘积量化): 对空间进行聚类并高度压缩向量,能够以极低的内存开销支持十亿级别超大规模的数据检索 。

    • DiskANN: 针对磁盘固态硬盘(SSD)进行优化的图算法,全量向量保存在磁盘,内存中仅保留少量导航信息,性价比极高 。

3. 向量数据库与传统数据库的区别

维度

传统关系型数据库(如 MySQL)

向量数据库(如 Qdrant、Milvus、Pinecone)

存储数据

结构化数据(数值、字符、日期等)

高维特征向量(嵌入向量)及关联元数据

检索方式

精确匹配(WHERE col = 'A')

近似最近邻(ANN)相似度匹配

匹配原则

语法与文本一致性

语义与概念相似性

应用场景

事务处理(OLTP)、账单、关系查询

知识库检索(RAG)、多模态搜索、智能体记忆

4. 主要应用场景

在现代 AI 应用中,向量数据库扮演着不可或缺的角色:

  • 检索增强生成(RAG): 作为大语言模型(LLM)的“外挂大脑”或长期记忆库。由于大模型自身的知识有截止时间,且容易产生“幻觉”,企业可以将最新的专业文档向量化并存入向量数据库。当用户提问时,系统先从向量数据库检索出最相关的文本,再送给大模型进行归纳生成,从而输出事实准确的回答。

  • 多模态搜索: 实现“以图搜图”、“以视频搜视频”或“通过文字描述搜图片” 。

  • 推荐系统: 将用户的行为和商品的特征编码为向量,实现毫秒级的个性化精准推荐。