向量数据库基础概念与分类

日期:2026年4月9日

什么是向量数据库

向量数据库是专门用于存储和检索高维向量数据的数据库系统,主要用于相似性搜索、推荐系统、语义搜索等AI应用场景。其核心目的是将各种数据转换为数值化的特征表示(向量),然后高效地进行相似性搜索和关联查询

核心工作原理

  1. 特征提取(Embedding)

    • 文本: 通过BERT、OpenAI Embedding等模型转换为向量
    • 图像: 使用ResNet、CLIP等模型提取视觉特征
    • 音频: 通过Whisper、VGGish等模型生成音频特征
    • 结构化数据: 数值化编码后形成特征向量
  2. 相似性度量

    • 余弦相似度: 最常用,关注方向而非大小
    • 欧氏距离: 关注绝对距离
    • 内积: 用于某些特定场景
  3. 高效检索

    • 通过专门的近似最近邻(ANN)算法实现快速搜索
    • 在百万/十亿级向量中毫秒级返回最相似结果

主要向量数据库分类

专用向量数据库

  • Pinecone: 完全托管的向量数据库服务,API简单易用
  • Weaviate: 开源向量搜索引擎,支持GraphQL查询
  • Milvus: 开源向量数据库,CNCF项目,功能丰富
  • Qdrant: Rust编写的开源向量搜索引擎,性能优秀
  • Vespa: Yahoo开源的大规模文本和向量搜索平台
  • Vald: Kubernetes原生的分布式向量搜索引擎

传统数据库的向量扩展

  • PostgreSQL + pgvector: 最流行的向量扩展方案
  • Redis + RedisVL: Redis的向量搜索模块
  • Elasticsearch: 8.x版本开始支持向量搜索
  • MongoDB Atlas: 支持向量搜索功能
  • Oracle Database: 23c版本引入向量数据类型
  • SQL Server: 支持向量函数

云服务商解决方案

  • AWS OpenSearch: 支持k-NN搜索
  • Google Vertex AI Matching Engine: Google Cloud的向量匹配服务
  • Azure Cognitive Search: 支持向量搜索
  • 阿里云OpenSearch: 支持向量检索

兼容性分析

API兼容性

大多数向量数据库不直接兼容,因为:

  • 比如搜索"如何修理自行车"能匹配到"自行车维修指南"

去重和聚合

  • 发现重复或相似的内容
  • 自动分组相关文档/图片

为什么需要专门的向量数据库?

传统数据库在处理高维向量时效率极低:

  • 维度灾难: 高维空间中距离概念失效
  • 计算复杂度: 暴力搜索O(n)无法满足实时需求
  • 内存效率: 专门的索引结构节省存储空间

向量数据库通过专门优化的数据结构和算法解决了这些问题,让AI应用能够实时处理大规模向量数据。

简单来说,向量数据库就是AI时代的"搜索引擎",只不过它搜索的是语义相似性而不是关键词匹配。