Refresh-air

清风明月本无价 近水远山皆有情
记载自己在码砖过程中遇到的点点滴滴.......

 

2024年4月26日

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)搜索。

posted @ 2024-04-26 10:17 笑清风 阅读(262) 评论(0) 推荐(0) 编辑

2024年4月24日

milvus介绍

摘要: 1.什么是milvus Milvus是在2019年创建的,其唯一目标是存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的大规模嵌入向量。 非结构化数据包括电子邮件、论文、物联网传感器数据、Facebook照片、蛋白质结构等等。为了使计算机能够理解和处理非结构化数据,使用嵌入技术将它们转换 阅读全文

posted @ 2024-04-24 09:40 笑清风 阅读(437) 评论(0) 推荐(0) 编辑

2024年3月29日

Mockito之doThrow

摘要: 1、如果一个对象的方法的返回值是 void,那么不能用 when … thenThrow 让该方法抛出异常。 (1)如果有返回值,下面这种写法是错误的: import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockit 阅读全文

posted @ 2024-03-29 09:45 笑清风 阅读(432) 评论(0) 推荐(0) 编辑

2022年2月9日

关于行为面试法——STAR

摘要: http://blog.sina.com.cn/s/blog_15e29fc150102wngr.html 阅读全文

posted @ 2022-02-09 17:58 笑清风 阅读(4150) 评论(0) 推荐(0) 编辑

2021年4月18日

JVM 内存分析工具 MAT 的深度讲解与实践——入门篇《转》

摘要: JVM 内存分析工具 MAT 的深度讲解与实践——入门篇 阅读全文

posted @ 2021-04-18 23:03 笑清风 阅读(1072) 评论(0) 推荐(0) 编辑

2020年10月20日

linux top 中的time+

摘要: linux top命令的TIME/TIME+值 发表于 2011 年 08 月 03 日 由 admin top命令的TIME/TIME+是指的进程所使用的CPU时间,不是进程启动到现在的时间,因此,如果一个进程使用的cpu很少,那即使这个进程已经存在N长时间,TIME/TIME+也是很小的数值。 阅读全文

posted @ 2020-10-20 17:52 笑清风 阅读(2957) 评论(0) 推荐(1) 编辑

2020年10月19日

notepad++删除包含指定字符串的行(正则)

摘要: 比如要去掉所有含有嘻哈的行的操作 Ctrl+F 查找: ^.*返现.*$ 替换为:(空) 如果不留空行:查找: ^.*返现.*\r?\n 替换为:(空)注意:Notepad++的[全部替换]受[方向]约束,所以如果想“向下”全部替换,要把光标放到文首 ULTRAEDIT如何删除含多个特定字符的行 | 阅读全文

posted @ 2020-10-19 10:12 笑清风 阅读(3941) 评论(0) 推荐(0) 编辑

2020年4月4日

JVM指令码表

摘要: JVM指令码表 常量入栈指令 指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null null值入栈。 0x02 iconst_m1 -1(int)值入栈。 0x03 iconst_0 0(int)值入栈。 0x04 iconst_1 1(int)值入栈。 0x05 阅读全文

posted @ 2020-04-04 22:05 笑清风 阅读(180) 评论(0) 推荐(0) 编辑

2020年1月14日

Hadoop家族成员概述

摘要: Hadoop家族成员概述 一、Hadoop简介 1.1 什么是Hadoop? Hadoop是一个分布式系统基础架构,由Apache基金会所开发,目前Yahoo!是其最重要的贡献者。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,用 阅读全文

posted @ 2020-01-14 13:11 笑清风 阅读(995) 评论(0) 推荐(0) 编辑

2020年1月9日

轻松把玩HttpClient之封装HttpClient工具类

摘要: https://www.kancloud.cn/longxuan/httpclient-arron/130149 【转自 http://blog.csdn.net/xiaoxian8023 】 阅读全文

posted @ 2020-01-09 18:35 笑清风 阅读(197) 评论(0) 推荐(0) 编辑

导航

统计

点击右上角即可分享
微信分享提示