一句话定义:向量数据库(AI 词典:Vector Database">Vector Database)是一类专门存储和检索向量(Vector)的数据库,它的核心能力不是找"完全相等"的记录,而是找"最相似"的记录。
它到底在干什么
一段文字、一张图片、一段音频,先被模型转成一串数字,这串数字叫嵌入(Embedding)。比如"番茄炒蛋"和"西红柿炒鸡蛋"字面不同,但转成向量后,两者在语义空间里的位置很接近。
向量通常是几百到几千维的浮点数,每个维度并不对应人能读懂的含义,但合在一起就代表了"意思"。向量数据库要做的,就是给一个查询向量,在上百万、上亿条里快速找出距离最近的若干条。
打个生活化的比方:普通数据库像图书馆按索书号找书,你得知道书名或编号,找到的是"那一本";向量数据库像按口味找餐厅——你不报店名,只说"想吃酸辣的、最好是面",它把最接近的几家端上来。它不保证给你唯一正确答案,但保证很快给出"足够像"的几个。
和普通数据库的区别
| 对比项 | 普通关系型数据库 | 向量数据库 |
|---|---|---|
| 存什么 | 结构化数据:数字、短文本、日期 | 高维向量(几百到几千维浮点数) |
| 怎么查 | 精确匹配、范围条件、JOIN、SQL | 相似度检索:余弦距离、内积等 |
| 返回什么 | 满足条件的确定集合 | 按相似度排序的 Top-K |
| 索引 | B+ 树、哈希 | HNSW、IVF 等近似最近邻索引 |
| 典型场景 | 订单、账务、库存 | 语义搜索、推荐、RAG 检索 |
最关键的差别是"准确换速度"。在高维空间里精确找最近邻代价极高,所以向量数据库普遍采用近似最近邻(ANN,Approximate Nearest Neighbor)索引:牺牲一点点召回率,换来数量级的速度提升。这是设计取舍,不是缺陷。另一个差别是,普通数据库擅长多条件组合过滤,而向量检索常常需要"先按标签过滤,再算相似度",所以很多向量数据库也支持标量过滤。
对从业者和普通人意味着什么
对 AI 从业者,向量数据库是 RAG(Retrieval-Augmented Generation,检索增强生成)的常见组件:把知识库切块、转成向量存进去,提问时先检索最相关的几段,再交给大模型。选型时通常关心数据规模、召回率与延迟、过滤与更新能力、运维成本,具体能力以官方文档为准。
对普通职场人,你用的"以图搜图""搜到意思相近的内容""推荐你可能喜欢的",背后往往就是这类系统。它不替代传统数据库——账要算准、库存要扣对,还得靠关系型数据库;但"这东西像不像那个东西"的问题,交给向量数据库更合适。
