《向量数据库系列 三》向量数据库中数据的存储形式是什么

在向量数据库中,数据的存储形式以向量(Vector) 为核心载体,同时会搭配辅助性的元数据(Metadata)和唯一标识(ID),形成“ID + 向量 + 元数据”的三元存储结构。这种结构既满足了相似性查询的核心需求,也支持业务层面的筛选和关联,以下从核心组成、向量本身的特性、存储优化三个维度详细拆解:

一、核心存储结构:三元组形式

向量数据库不会孤立存储向量,而是通过“唯一标识+向量+元数据”的组合,实现“可定位、可计算、可关联业务”的目标,具体组成如下:

组成部分作用与示例
1. 唯一标识(ID)类似传统数据库的“主键”,用于唯一标记一条向量数据,方便后续定位、更新或删除。
示例:商品ID(prod_123)、文档片段ID(doc_chunk_456)。
2. 核心向量(Vector)非结构化数据(文本、图片、音频等)的“数值化表达”,是相似性查询的计算基础,本质是一个固定长度的数值数组
示例:文本“猫咪”通过BERT模型转化的768维向量 [0.12, -0.34, 0.56, ..., 0.78];图片通过ResNet模型转化的2048维向量 [0.09, 0.21, -0.43, ..., 0.65]
3. 辅助元数据(Metadata)描述向量对应原始数据的“结构化属性”,用于缩小查询范围(过滤)或关联业务信息,格式通常为键值对(Key-Value)。
示例:向量对应图片的“拍摄时间(2024-05-01)”“类别(宠物)”“上传用户(user_789)”;向量对应文档的“来源(企业手册)”“章节(第3章)”。

二、核心载体:向量的关键特性

向量是向量数据库存储的“核心”,其自身的特性直接决定了存储和查询的逻辑,需重点理解以下两点:

1. 向量的本质:“非结构化数据的数值化映射”

向量并非天然存在,而是通过AI模型(Embedding模型) 将非结构化数据转化而来的“数学表示”——模型会提取原始数据的“语义、特征或风格”,并将其编码为固定长度的数值数组。例如:

  • 文本数据:通过BERT、Sentence-BERT等模型,将“句子/段落”的语义转化为768维或1024维向量;
  • 图像数据:通过ResNet、ViT(视觉Transformer)等模型,将“图像的视觉特征(边缘、色彩、物体轮廓)”转化为2048维或更高维度向量;
  • 音频数据:通过MFCC(梅尔频率倒谱系数)+ 深度学习模型,将“音频的音调、节奏”转化为数百维向量。

这些向量的核心价值是:用“数值距离”表示“原始数据的相似性” ——两个向量的距离越近(如余弦相似度越接近1),对应的原始数据(文本、图片)就越相似。

2. 向量的关键属性:维度(Dimensionality)

向量的“维度”指的是数值数组的长度(如768维、2048维),是向量存储和查询优化的核心考量因素:

  • 低维向量:维度通常<100(如传统机器学习的特征向量,如用户年龄、消费金额组成的5维向量),计算速度快,无需复杂优化;
  • 高维向量:维度通常>100(如AI模型生成的768维文本向量、2048维图像向量),会面临“维度灾难”(高维下向量间距离趋于一致,查询精度下降;计算量激增)——因此向量数据库的存储设计会重点优化高维向量的“索引结构”(如HNSW、IVF等,见下文“存储优化”)。

三、存储优化:向量索引(Vector Index)

向量数据库的存储并非简单“堆存”向量,而是会构建向量索引来加速相似性查询(类似传统数据库的B+树索引,但逻辑完全不同)。向量索引的核心目标是:在不遍历所有向量的前提下,快速定位到与“查询向量”最相似的候选集,避免高维向量全量计算的性能瓶颈。

常见的向量索引结构及其存储逻辑如下:

  • IVF(Inverted File,倒排文件索引)
    先将所有向量通过聚类算法(如K-Means)分成多个“簇(Cluster)”,每个簇对应一个“倒排文件”;存储时,向量会被分配到对应的簇中,索引记录“簇ID→该簇下的向量列表”。查询时,先找到与“查询向量”最接近的几个簇,再仅在这些簇内计算相似性,大幅减少计算量。
  • HNSW(Hierarchical Navigable Small Worlds,分层导航小世界)
    把向量构建成“多层图结构”,上层图是“稀疏连接”(用于快速定位大致范围),下层图是“密集连接”(用于精确筛选);存储时,向量会作为图的节点,记录其在各层的邻居节点。查询时,从上层图开始“导航”,快速缩小范围,最终在下层图找到最相似的向量,平衡了查询速度和精度。
  • FAISS(Facebook AI Similarity Search)
    并非单一索引,而是包含IVF、HNSW等多种索引的集合,常作为向量数据库的底层索引核心(如Milvus早期版本基于FAISS优化),通过“量化(Quantization)”技术(如将高维向量压缩为低维二进制向量)进一步降低存储成本和计算量。

四、总结:向量数据库存储的核心逻辑

向量数据库的存储形式,本质是“为相似性查询服务的结构化设计”:

  1. 先将非结构化数据转化为“可计算相似性的向量”;
  2. 用“ID+向量+元数据”的三元组结构,兼顾“唯一定位”“相似性计算”和“业务关联”;
  3. 再通过向量索引(如HNSW、IVF)优化高维向量的查询效率,最终实现“快速找到相似数据”的核心目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值