跳到主要内容
AI News HubLIVE
站内改写2 分钟阅读

什么是向量数据库?

文章摘要

本文介绍向量数据库的基本概念、与传统数据库的区别、核心组件(ID、维度、负载)、架构(集合、距离度量、存储)、主要功能(索引、搜索、更新、删除),以及密集向量与稀疏向量、混合搜索、量化、分布式部署、多租户和数据安全等高级特性。

来源Qdrant Blog作者: [email protected] (Andrey Vasnetsov)
什么是向量数据库?
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

向量数据库是一种专门设计用于高效处理高维向量数据的系统。在日常产生的海量数据中,大部分是非结构化的,例如照片、PDF文件和音频。传统的关系数据库难以理解这些数据的含义,而向量数据库通过将数据转换为数值向量来捕捉其语义和上下文关系,从而实现基于相似性的搜索和分析。

传统OLTP和OLAP数据库擅长管理具有明确定义模式的结构化数据,如姓名、地址、电话号码和购买历史。然而,当数据难以分类时,比如PDF文件的内容,情况就变得复杂。即使将PDF作为原始数据存储并附加元数据,数据库仍然无法理解文档内部的内容、对其进行分类或搜索。对于每天生成的大量文本、音频和图像数据也同样如此。向量数据库通过将非结构化数据表示为向量,允许用户理解数据的上下文或概念相似性,从而实现基于相似性的高级分析和检索。

一个向量由三个关键元素定义:ID(唯一标识符)、维度(数据的核心数值表示)和负载(包含元数据以提供额外上下文)。ID类似于关系数据库中的主键,确保向量的可查找性;维度由嵌入模型(如深度学习算法)生成,捕获数据中的基本模式或关系;负载是描述性文本、标签、类别或数值等结构化信息,可用于过滤或排序搜索结果。这些元素共同构成一个点,即向量数据库中存储和检索的核心数据单元。

向量数据库的架构包括集合、距离度量和存储系统。集合是向量的逻辑分组,同一集合内的向量共享相同的维度和距离度量。常见的距离度量有欧氏距离(适用于空间数据)、余弦相似度(适用于文本或文档,关注方向而非长度)和点积(常用于推荐系统)。Qdrant默认将向量存储在RAM中以实现快速访问,当数据集超出RAM容量时,可使用Memmap将向量存储在磁盘上,同时通过内存映射实现高效访问。此外,Qdrant提供多种编程语言的SDK,方便开发者使用。

向量数据库的核心功能包括索引、搜索、更新和删除。索引使用HNSW(分层可导航小世界)算法构建多层图,实现快速近似最近邻搜索。Qdrant还支持负载索引,允许基于元数据的快速过滤。搜索采用近似最近邻(ANN)搜索,将查询转换为向量,在图中快速定位最相似的向量。更新支持实时和批量操作,而删除则通过指定ID高效移除过期或重复数据。

向量分为密集向量和稀疏向量。密集向量的每个元素都贡献语义信息,适合上下文相关搜索;稀疏向量大部分元素为零,仅标记出现的关键词,适合精确匹配。混合搜索结合两者,采用倒数排名融合(RRF)等技术,在单一查询中同时获得语义相关性和关键词精确性。

量化技术通过将向量转换为低精度表示(如二进制量化)来大幅提升搜索速度和减少内存占用,最高可提速40倍,同时仅损失少量精度。Qdrant支持二进制量化、标量量化和乘积量化等方法。

在分布式部署中,Qdrant通过分片将数据分布到多个节点,并通过复制集保证高可用性。分片可以是自动的(使用一致性哈希)或用户定义的(为多租户等用例提供更精细的控制)。复制因子控制副本数量,Raft共识确保节点间数据一致性。多租户功能允许在同一集群中隔离不同用户的数据,通过标签(如group_id)实现物理隔离,同时遵守数据隐私和当地法规。

数据安全方面,Qdrant支持API密钥认证和基于JWT的角色访问控制(RBAC),防止嵌入反转攻击。本机实例默认不安全,生产环境中应配置安全措施。

向量数据库的应用场景广泛,包括相似性搜索、异常检测、推荐系统、检索增强生成(RAG)、多模态搜索、语音识别和知识图谱增强。通过实践,您可以构建语义搜索引擎或混合搜索服务,充分利用向量的潜力。

展开要点与分析

文章情报

工程师进阶

要点

  • 向量数据库将非结构化数据表示为高维向量,实现基于相似性的检索。
  • 核心组件包括唯一ID、数值维度和包含元数据的负载。
  • 支持密集向量(语义搜索)和稀疏向量(关键词匹配),可结合进行混合搜索。
  • 提供量化、分片、复制和多租户等功能,支持大规模高效部署。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。