首页 > 其他分享 >milvus相关概念

milvus相关概念

时间:2024-04-26 10:23:34浏览次数:22  
标签:milvus 概念 Milvus 集合 相关 日志 数据 主键 向量

本主题解释了Milvus向量数据库中的一些核心概念。

位集(Bitset)
在 Milvus 中,位集是由 0 和 1 构成的位数数组,相对于整数、浮点数或字符,它们可以被用于紧凑、高效地表示某些数据。默认情况下,位数为 0,只有满足某些要求时才会设置为 1。

通道(Channel)
在 Milvus 中,有两个不同的通道。它们分别是 PChannel 和 VChannel。每个 PChannel 对应日志存储的主题,而每个 VChannel 对应集合中的一个分片。

集合
在Milvus中,集合相当于关系型数据库管理系统(RDBMS)中的表。在Milvus中,集合用于存储和管理实体。

依赖项(Dependency)
依赖项是其他程序在工作时所依赖的程序。Milvus 的依赖项包括 etcd (存储元数据)、MinIO 或 S3(对象存储)和 Pulsar(管理快照日志)。

实体(Entity)
实体是代表现实世界对象的一组字段。在 Milvus 中,每个实体都由唯一的主键表示。

您可以自定义主键。如果您没有手动配置,则 Milvus 会自动为实体分配主键。如果选择配置自定义主键,请注意 Milvus 暂不支持主键去重。因此,同一集合中可以存在重复的主键。

字段(Field)
字段是组成实体的单元。字段可以是结构化数据(例如数字、字符串)或向量。

从 Milvus 2.0 开始,标量字段过滤功能已经可用了!

日志中间件(Log broker)
日志中间件是一种支持回放的发布-订阅系统。它负责流式数据持久化、可靠异步查询的执行、事件通知和查询结果的返回。它还确保了当工作节点从系统故障中恢复时,增量数据的完整性。

日志序列(Log sequence)
日志序列记录了在 Milvus 中更改集合状态的所有操作。 日志快照
日志快照是Milvus向量数据库中记录和处理数据更新和更改的二进制日志的较小的单元,数据从段中持久化到多个binlog中。Milvus中有三种类型的binlog:InsertBinlog、DeleteBinlog和DDLBinlog。

日志订阅者(Log subscriber)
日志订阅者订阅日志序列以更新本地数据,并提供只读副本的服务。

消息存储(Message storage)
消息存储是 Milvus 的日志存储引擎。

Milvus 集群(Milvus cluster)
在 Milvus 的集群部署中,一组节点提供服务,以实现高可用性和易扩展性。

Milvus 独立部署(Milvus standalone)
在 Milvus 的独立部署中,所有操作包括数据插入、索引构建和向量相似度搜索都在一个进程中完成。

归一化(Normalization)
归一化是指将嵌入(向量)转换为其范数等于1的过程。如果使用内积(IP)来计算嵌入相似度,则所有嵌入必须被标准化。标准化后,内积等于余弦相似度。

分区(Partition)
分区是集合的一个划分。Milvus 支持将集合数据划分为多个物理存储部分。这个过程被称为分区,并且每个分区可以包含多个段。

PChannel
PChannel 代表物理通道。每个 PChannel 对应日志存储的主题。Milvus 集群启动时,会默认分配一组 256 个 PChannel 来记录数据插入、删除和更新的日志。

Schema
Schema 是定义数据类型和数据属性的元信息。每个集合都有自己的集合 schema,定义集合的字段、启用自动 ID(主键)分配,并包括集合描述。集合 schema 中还包括定义字段名称、数据类型和其他属性的字段模式。

段(Segment)
段是由 Milvus 自动创建的用于容纳插入数据的数据文件。一个集合可以有多个段,一个段可以有多个实体。在向量相似度搜索期间,Milvus 扫描每个段并返回搜索结果。一个段可以是正在增长的,直到它被封存为止。一个封存的段不再接收任何新数据,并将被刷新到对象存储中,剩余的新数据将被插入到新创建的增长段中。增长段将被封存,因为它所包含的实体数达到了预定义的阈值,或者“增长”状态的持续时间超过了指定的限制。

分片(Sharding)
分片是将写入操作分配到不同节点上,以充分利用 Milvus 集群的并行计算能力来写入数据。默认情况下,单个集合包含两个分片。Milvus 采用基于主键哈希的分片方法。Milvus 的开发路线图包括支持更灵活的分片方法,例如随机和自定义分片。

分区工作是通过指定分区名称来减少读负载,而分片则将写负载分散在多个服务器之间。

非结构化数据(Unstructured data)
非结构化数据,包括图像、视频、音频和自然语言,是不遵循预定义模型或组织方式的信息。这种数据类型占了世界数据的约80%,可以使用各种人工智能(AI)和机器学习(ML)模型将其转换为向量。

VChannel
VChannel 代表逻辑通道。每个 VChannel 代表集合中的一个分片。每个集合都将被分配一组 VChannels,用于记录数据插入、删除和更新。

VChannels 在逻辑上是分离的,但在物理上共享资源。

嵌入向量(Embedding vector)
嵌入向量是对非结构化数据(如电子邮件、IoT 传感器数据、Instagram 照片、蛋白质结构等)的特征抽象。从数学上讲,嵌入向量是一组浮点数或二进制数的数组。现代嵌入技术用于将非结构化数据转换为嵌入向量。

Vector index
向量索引是从原始数据派生出的重新组织的数据结构,可以大大加速向量相似度搜索的过程。Milvus支持多种向量索引类型。

向量相似度搜索
向量相似度搜索(Vector similarity search)是比较一个向量与数据库中的向量,以找到与目标搜索向量最相似的向量的过程。用于计算向量之间的相似度(similarity)的算法通常采用近似最近邻(ANN)搜索。

标签:milvus,概念,Milvus,集合,相关,日志,数据,主键,向量
From: https://www.cnblogs.com/Refresh-air/p/18159407

相关文章

  • Devops基本概念和原理,什么是 DevOps? DevOps 介绍
    Devops基本概念和原理,什么是DevOps?DevOps介绍一、什么是DevOps1、DevOps概述DevOps,即DevelopmentandOperations,是一组过程、方法与系统的统称,用于促进软件开发、运维和质量保障部门之间的沟通、协作与整合。DevOps的出现是由于软件行业日益清晰的认识到:为了按时交付......
  • Docker - 基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载
    Docker-基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载 一、对Docker 的理解1、Docker基本概念我们平时开发大型项目组件较多,依赖关系复杂,环境差异大,通过Docker就可解决上述问题~ Docker就是一个快速交付应用、运行应用的技术:运行前后:......
  • HarmonyOS 中 Context 相关的内容及其区别
    以下是不同Context类型及其特点的概述:ApplicationContext应用级别Context:ApplicationContext是应用级别的上下文环境。生命周期管理:提供了订阅应用内Ability生命周期变化的能力。系统资源监控:可以订阅系统内存变化和应用内系统环境的变化。适用场景:在UIAbility、Exte......
  • 九上数学概念
    九上数学概念二次函数y=x²的图像是一条曲线,分别向左上方和右上方无线伸展。它属于一类特殊的曲线,这类曲线被称为抛物线二次函数y=x²的图像就称为抛物线y=x²抛物线与它的对称轴交点叫做抛物线的顶点。抛物线y=x²的顶点是原点O(0,0)一般地,二次函数y=ax²(其中a是常数,且a≠0)的......
  • PEcmd是一个命令行工具,用于执行各种操作系统和文件系统相关的任务。通常,它用于在Windo
    PECMD命令帮助-PECMD技术社区:www.pecmd.netPEcmd是一个命令行工具,用于执行各种操作系统和文件系统相关的任务。通常,它用于在Windows操作系统上执行各种文件和目录操作,例如文件复制、移动、删除等。PEcmd提供了一种简单而强大的方式来管理文件和目录,尤其是在自动化和批处......
  • inode(index node)是Unix、Linux和类Unix操作系统中的一个重要概念, 在Windows操作系统中
    inode(indexnode)是Unix、Linux和类Unix操作系统中的一个重要概念,用于描述文件系统中的文件或目录。每个文件或目录都与一个inode相关联。inode包含以下信息:文件或目录的权限(读、写、执行)。文件类型(普通文件、目录、符号链接等)。拥有者和所属组。文件的大小。访问、修......
  • git命令下,mac环境下载依赖相关报错问题解决方案
    1.安装fundry框架curl-Lhttps://foundry.paradigm.xyz|bash2.写入环境变量source/Users/xx/.bashrc3.foundryup问题1报错:致命错误:无法访问'https://github.com/foundry-rs/forge-std解决方案:设置hosts文件:添加指定url的ip地址:140.82.112.4github.com185.1......
  • 开源向量数据库比较:Chroma, Milvus, Faiss,Weaviate
    语义搜索和检索增强生成(RAG)正在彻底改变我们的在线交互方式。实现这些突破性进展的支柱就是向量数据库。选择正确的向量数据库能是一项艰巨的任务。本文为你提供四个重要的开源向量数据库之间的全面比较,希望你能够选择出最符合自己特定需求的数据库。什么是向量数据库?向量数......
  • 物理地址和虚拟地址的概念
    目录虚拟地址和物理地址的概念cpu如何访问内存:为什么要用地址映射:物理地址和虚拟地址的概念虚拟地址和物理地址的概念cpu如何访问内存:当CPU需要执行特定的指令或访问特定的数据时,它会将相应的地址放在地址总线上。地址总线上的地址信号传递到内存,指示内存中的特定存储位置。......
  • 利用VS(Visual Studio)自带的工具查看DLL文件相关信息
    装完VS后,就可以使用其自带的dumpbin命令来查看DLL文件的信息,首先在开始菜单中打开VS的DeveloperCommandPrompt命令窗打开后,输入dumpbin后,按Enter,会显示dumpbin的使用参数  查看DLL文件的方法有两种:1.使用dumpbin命令:dumpbin/exportsC:\Users\Administrator\D......