什么是向量数据库?

它是专门用来存储和检索高维向量的数据库,核心能力是做近似最近邻搜索(也就是 ANN)

简单来说,它能在百万甚至亿级的向量里,毫秒级地找出最相似的几条。像现在 RAG 架构里"检索"这一步,底层就是靠向量数据库撑着的。

【对比传统数据库】

可能有人会觉得,在 MySQL 或者 ES 里加个向量字段也能存向量,为什么还要专门的数据库?其实这有本质区别:

MySQL 擅长的是精确匹配 ,比如 WHERE id = 123,底层靠 B-tree 索引,在一维有序数据上效率极高。但是向量检索是要找"最相近"的,高维空间里的距离是多个维度综合计算的,B-tree 根本无法工作。

ES 也是同理 ,它加的 dense_vector 只是个补丁,数据量一大,性能根本扛不住。所以,传统数据库解决的是"等于"的问题,向量数据库解决的是"相似"的问题,两者不能互相替代。

【索引算法】

向量数据库之所以能做到毫秒级检索,秘密全在索引算法上。目前主流的就是 HNSW 和 IVF 两种:

  1. HNSW 是图结构 。你可以想象成在地图上找餐厅,先在全国层找大方向,再一层层缩小到省、市、区。它这种分层导航的方式,能跳过99%的无关节点,优点是召回率极高、速度快,缺点是比较吃内存 。像 Qdrant、Milvus 默认用的就是这个。

  2. IVF 是桶结构 。它先对向量做聚类分桶,检索时只搜最相关的几个桶,就像在图书馆先找"计算机区"再找书。优点是内存占用小、适合超大规模,缺点是精度略低、需要调参

简单说,HNSW 用内存换精度,IVF 用精度换内存,两者适用场景不同。

当然,光有 ANN 搜索还不够,生产级的向量数据库还必须具备三个关键能力:

  1. Metadata 过滤(先过滤再搜) :业务上往往只想搜"技术部2024年的文档",如果不先过滤,搜出来的 Top-K 可能全不满足条件,浪费名额。所以必须是先按 metadata 过滤,再在子集里做 ANN 搜索。

  2. 实时增量更新:知识库频繁变更,向量数据库必须支持在线写入和增量构建索引,不能一改数据就停服重建。

  3. 混合检索:纯向量检索对专有名词(比如产品型号 GPT-4o)效果不好,需要结合 BM25 关键词检索做混合召回,效果才最佳。

【落地选型】

主要看数据规模、部署方式和是否需要混合检索这三个维度:

  • 如果是本地快速原型验证 ,用 Chroma,零配置上手极快;
  • 如果是中小到大规模的生产环境 ,我推荐 Qdrant,Rust 写的性能很稳,API 简洁,现在也支持分布式,亿级数据也能扛,很多团队是从 Chroma 起步然后切到 Qdrant 上生产;
  • 如果是千万到亿级的超大规模 ,需要水平扩展,选 Milvus,国内大厂都在用,但运维复杂度高,需要专门的人力维护;
  • 如果不想运维 ,用 Pinecone 这种全托管 SaaS,不过要注意数据出境的合规问题;
  • 如果项目里已经有 PG ,数据量又不大,直接用 pgvector 插件就够了,运维成本为零。
相关推荐
广州灵眸科技有限公司6 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
腾渊信息科技公司8 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
Smoothcloud润云9 小时前
国内GPU算力租赁平台横向测评:资源、成本、稳定性三维对比
人工智能·ai·云计算·gpu算力·gpu
憧憬成为web高手9 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学9 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh11 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
赵康11 小时前
AI 写代码之后,Code Review 会议怎么开
ai·llm·skill
神奇霸王龙12 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
TsingtaoAI12 小时前
3D高斯泼溅技术发展及其在具身智能领域的应用综述
人工智能·算法·ai·具身智能·高斯泼溅
z1234567898612 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程