趋近智
传统数据库擅长基于精确匹配或对预定义字段进行范围查询来存储和检索结构化数据,而向量数据库则围绕一个不同的核心理念构建:基于相似性管理和查找高维向量。这使得它需要为此项任务优化的独特数据模型和结构定义方式。
在向量数据库数据模型的核心,是向量记录(有时也称作条目、点或文档)这一思想。这是数据存储的基本单位。每个向量记录通常会包含以下几个重要信息:
唯一标识符(ID): 就像大多数数据库一样,每个向量记录都需要一个唯一ID用于直接检索、更新或删除。这通常是由用户提供或由数据库生成的字符串或整数。
向量嵌入: 这是数据点的核心数值表示,通常存储为浮点数数组或列表。例如,一个768维的文本嵌入将存储为一个包含768个数字的数组。此处一个重要方面是维度一致性。在数据库中的特定集合或索引内,所有向量通常必须具有相同的维度()。尝试将不同维度的向量插入到同一个索引中通常不受支持或需要特殊处理,因为底层的ANN算法依赖于在一致的向量空间内运行。
这解释了向量数据库在应用场景中发挥其效用的原因。向量很少孤立存在;它们代表具体的实体,如文档、图像、产品或用户资料。元数据载荷存储与向量关联的属性,提供上下文并允许更精细的查找。此载荷通常结构类似JSON对象或字典,包含键值对。
与向量关联的元数据可以包含多种数据类型,类似于NoSQL或关系型数据库中的类型:
is_active、on_sale 或 is_processed。请看一个代表文档中某段文本的向量记录示例:
{
"id": "doc1_chunk3",
"vector": [0.013, -0.245, ..., 0.912], // 一个512维的向量
"metadata": {
"document_source": "/path/to/research_paper.pdf",
"page_number": 15,
"chunk_length": 350, // 字符或标记的数量
"topic": "Machine Learning",
"keywords": ["vector database", "ANN", "similarity search"],
"published_year": 2023
}
}
在这个例子中,id 唯一标识记录,vector 存储嵌入,metadata 包含有关文本片段的上下文信息。
这种结构(向量维度、元数据字段、数据类型)在事前必须如何严格定义,在不同的向量数据库系统之间有所不同。
无论采用何种方法,理解向量记录的结构、固定的向量维度以及可用的元数据字段及其类型都非常重要。这种结构直接影响您如何构建索引(在下一章中介绍),并且极为重要地,它影响您如何查询数据库。向量数据库的能力通常来自将向量相似性搜索与基于这些元数据属性的精确过滤结合起来(例如,“查找与此查询语义相似的文档,但仅限于2022年后发布且标记为*'ANN'*的文档”)。这种双重能力由一种数据模型实现,该模型将高维向量与其描述性元数据紧密关联。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造