术语表
这个主题解释了 Milvus 向量数据库中的一些核心概念。
位集
在 Milvus 中,位集是一组由 0
和 1
组成的位数数组,可以用来紧凑高效地表示特定的数据,而不是使用整数、浮点数或字符。默认情况下,位数为 0
,只有满足特定要求时才会被设置为 1
。
通道
在 Milvus 中有两个不同的通道。它们是 PChannel 和 VChannel。每个 PChannel 对应一个日志存储的主题。而每个 VChannel 对应一个集合中的一个分片。
集合
在 Milvus 中,集合相当于关系型数据库管理系统(RDBMS)中的表。在 Milvus 中,集合用于存储和管理实体。
依赖
依赖是一个程序依赖于其他程序的工作。Milvus 的依赖包括 etcd(存储元数据)、MinIO 或 S3(对象存储)和 Pulsar(管理快照日志)。
实体
实体由一组表示现实世界对象的字段组成。在 Milvus 中,每个实体由唯一的主键表示。
字段
字段是组成实体的单元。字段可以是结构化数据(例如数字、字符串)或向量。
日志代理
日志代理是一种支持回放的发布-订阅系统。它负责流式数据持久化、可靠的异步查询执行、事件通知和查询结果返回。它还确保在工作节点从系统故障中恢复时增量数据的完整性。
日志序列
日志序列记录了所有改变 Milvus 中集合状态的操作。
日志快照
日志快照是一个二进制日志,是段中记录和处理 Milvus 向量数据库中数据更新和更改的较小单位。来自一个段的数据会被持久化到多个 binlog 中。Milvus 中有三种类型的 binlog:InsertBinlog、DeleteBinlog 和 DDLBinlog。
日志订阅者
日志订阅者订阅日志序列以更新本地数据,并以只读副本形式提供服务。
消息存储
消息存储是 Milvus 的日志存储引擎。
Milvus 集群
在 Milvus 集群部署中,一组节点提供服务,实现高可用性和易扩展性。
Milvus 独立部署
在 Milvus 独立部署中,包括数据插入、索引构建和向量相似性搜索在内的所有操作都在一个单独的进程中完成。
归一化
归一化是指将嵌入(向量)转换为其范数等于一的过程。如果使用内积(IP)来计算嵌入的相似性,所有嵌入都必须进行归一化。归一化后,内积等于余弦相似度。
分区
分区是集合的一个划分。Milvus 支持将集合数据在物理存储上分成多个部分。这个过程称为分区,每个分区可以包含多个段。
PChannel
PChannel 代表物理通道。每个 PChannel 对应一个日志存储的主题。默认情况下,启动 Milvus 集群时将被分配一组 256 个 PChannel 用于存储记录数据插入、删除和更新的日志。
模式
模式是定义数据类型和数据属性的元信息。每个集合都有自己的集合模式,定义了集合的所有字段、自动 ID(主键)分配功能和集合描述。集合模式中还包括定义字段名称、数据类型和其他属性的字段模式。
段
段是由 Milvus 自动创建用于保存插入数据的数据文件。一个集合可以有多个段,一个段可以有多个实体。在向量相似性搜索过程中,Milvus 会扫描每个段并返回搜索结果。一个段可以是增长或封存状态。增长段保持接收新插入的数据,直到被封存。封存段不再接收任何新数据,并将被刷新到对象存储中,留下新数据插入到一个新创建的增长段。增长段将被封存,要么是因为它所持有的实体数量达到了预定义的阈值,要么是因为“增长”状态的时间跨度达到了指定的限制。
分片
分片是指将写操作分配给不同节点,以充分利用 Milvus 集群的并行计算能力来写入数据。默认情况下,一个集合包含两个分片。Milvus 采用基于主键哈希的分片方法。Milvus 的开发路线图包括支持更灵活的分片方法,如随机和自定义分片。
非结构化数据
非结构化数据,包括图像、视频、音频和自然语言,是不遵循预定义模型或组织方式的信息。这种数据类型占世界数据的约 80%,可以使用各种人工智能(AI)和机器学习(ML)模型转换为向量。
VChannel
VChannel 代表逻辑通道。每个 VChannel 表示一个集合中的一个分片。每个集合将被分配一组 VChannel 用于记录数据插入、删除和更新。VChannel 在逻辑上是分隔的,但在物理上共享资源。
嵌入向量
嵌入向量是非结构化数据(例如电子邮件、IoT 传感器数据、Instagram 照片、蛋白质结构等)的特征抽象。从数学上讲,嵌入向量是一组浮点数或二进制数组。现代嵌入技术用于将非结构化数据转换为嵌入向量。
向量索引
向量索引是从原始数据派生出的重新组织的数据结构,可大大加速向量相似性搜索的过程。Milvus 支持多种 向量索引类型。
向量相似性搜索
向量相似性搜索是将一个向量与数据库中的向量进行比较,以找到与目标搜索向量最相似的向量的过程。近似最近邻(ANN)搜索算法被用来计算向量之间的相似度。[/相似性/ 相似度](metric.md)。