Milvus向量数据库01-基础概念
Milvus向量数据库01-基础概念
Zilliz Cloud 集群由全托管 Milvus 实例及相关计算资源构成。您可以在 Zilliz Cloud 集群中创建 Collection,然后在 Collection 中插入 Entity。Zilliz Cloud 集群中的 Collection 类似于关系型数据库中的表。Collection 中的 Entity 类似于表中的记录。
1-集群
- 集群链接
在 Zilliz Cloud 上创建集群时,您需要选择集群 CU 类型。CU 类型有 2 种选项:性能型和容量型。不同 CU 类型的区别,请阅读选择合适的 CU 类型。
确定 CU 类型后,您还需要选择 CU 大小。CU 大小决定了集群可容纳的 Collection 数量。在 Dedicated 集群中,每个计算单元(CU)可最多容纳 64 个 Collection,并且每个集群中的 Collection 总数不能超过 4096。有关限制的更多信息,请阅读使用限制。
集群中的所有 Collection 共享 CU 资源。为节省 CU 资源,我们推荐您将一些不再使用的 Collection 从 CU 中释放出来。Collection 被释放后,其中的数据被转移到磁盘存储,从而可以释放 CU 资源以供其他已加载的 Collection 使用。需要查询已被卸载的 Collection 时,您可以将其重新加载至内存中。请注意,Collection 加载需要等待一段时间,因此我们不推荐频繁卸载和加载 Collection。
2-Collection
- Collection链接
Collection 是一张二维数据表,包含固定列数和可变行数。Collection 数据表中的每 1 列对应 1 个字段,每 1 行表示 1 个 Entity。
下图中的示例 Collection 包含 6 个 Entity 和 8 个字段。
字段
- 字段链接
通常我们会根据属性(如大小、重量、位置等)描述对象。对象属性类似于 Collection 中的字段。
Collection 中,主键是最特殊的字段,每个主键字段的值唯一且不重复。每 1 个主键都可以对应 Collection 中的 1 条 Entity 记录。如上图所示, 示例 Collection 中的 id 字段是主键。第 1 个 ID 0 对应标题为《The Mortality Rate of Coronavirus is Not Important》的文章。Collection 中的任何其他文章的 ID 都不会为 0。
Schema
- Schema链接
每个字段都具有自己的属性——字段中数据类型和相关限制(如向量维度和相似性类型)。通过定义字段及顺序,您的 Collection 会有 1 个 Schema,也就是 1 个数据结构框架。Collection Schema 类似于传统数据表的结构。
关于 Schema 中支持使用的数据类型,可参考Schema。
索引
- 索引链接
与 Milvus 实例不同,Zilliz Cloud 集群仅支持 AUTOINDEX 索引。该索引类型针对 Zilliz Cloud 提供的 3 种 CU 进行了优化。更多详情,请阅读 AUTOINDEX 。
3-Entity
- Entity链接
Collection 中的 Entity 是指共享相同字段集的数据记录。存储在每个字段中的数据共同形成 1 个 Entity。
您可以向 Collection 中添加任意数量的 Entity。但是,随着 Entity 数量和维度增加,Entity占用的内存大小也会增加,影响 Collection 的搜索性能。
更多内容,可参考本手册 Schema 一节以合理规划您的 Collection。
4-Load 和 Release
- Load 和 Release链接
对 Collection 执行 Load 操作是在 Collection 中进行 Search 和 Query 的前提条件。在加载 Collection 时,Zilliz Cloud 会将所有向量列的索引文件和所有标量列的数据加载到内存,从而快速响应搜索和查询请求。
由于 Search 和 Query 操作会占用较多的内存资源。为了减少资源消耗,您可以对暂时不需要使用的 Collection 执行 Release 操作,将相关数据从内存中释放出来。
5-Search 与 Query
- Search 与 Query链接
在为 Collection 创建索引并将其加载到内存后,您就可以通过输入查询向量、选择相似性类型的方式对 Collection 中的 Entity 进行相似性搜索。例如,您可以将文本 “Interesting Python demo” 对应的向量表示作为查询向量进行搜索,Zilliz Cloud 会在 Collection 中进行相似性查询并返回所有标题语义与查询向量相似的 Entity。
在 Search 和 Query 过程中,您也可以使用过滤条件对某些标量字段进行过滤,找到符合指定条件的所有 Entity。
更多搜索和查询详情,请阅读Search, Query 和 Get。
6-Partition
- Partition链接
Partition 是从 Collection 中划分而来,和 Collection 保持相同的列数,只包含 Collection 的部分 Entity。
通过将 Entity 分别存入不同的 Partition,Milvus 商业版实现了对 Entity 的隔离与分组。在按 Partition 进行检索时,由于无须关注 Collection 中其它 Partition 的数据,检索效率得到了较大的提升。
关于 Partition 的更多内容,可以查看管理 Partition。
7-内容总结
以下是文章内容要点的思维导图:
详细知识点如下:
集群
- 全托管 Milvus 实例:Zilliz Cloud 提供的全托管 Milvus 实例。
- 计算资源:与 Milvus 实例相关的计算资源。
- CU 类型选择:性能型和容量型两种选项。
- CU 大小选择:决定了集群可容纳的 Collection 数量。
- Collection 数量限制:每个 CU 最多 64 个 Collection,总数不超过 4096。
- 资源共享:所有 Collection 共享 CU 资源。
- Collection 释放与重新加载:释放 Collection 以节省资源,需要时重新加载。
Collection
- 二维数据表:包含固定列数和可变行数。
- 字段:描述对象属性,类似于数据库表中的列。
- 主键:每个主键字段的值唯一且不重复。
- Schema:定义字段及顺序的数据结构框架。
- 索引:Zilliz Cloud 集群仅支持 AUTOINDEX 索引。
- Entity 存储:Collection 中的 Entity 是共享相同字段集的数据记录。
- 字段属性:字段中数据类型和相关限制。
Entity
- 数据记录:存储在每个字段中的数据共同形成 1 个 Entity。
- 字段数据:每个字段中存储的数据。
- Entity 数量与性能:Entity 数量和维度增加会影响 Collection 的搜索性能。
Load 和 Release
- Load 操作:在 Collection 中进行 Search 和 Query 的前提条件。
- Release 操作:减少资源消耗,将数据从内存中释放出来。
- 内存资源管理:通过 Load 和 Release 操作管理内存资源。
Search 与 Query
- 相似性搜索:通过输入查询向量、选择相似性类型进行搜索。
- 查询向量:用于搜索的向量表示。
- 相似性类型:选择不同的相似性类型进行搜索。
- 过滤条件:使用过滤条件对标量字段进行过滤。
- 标量字段过滤:找到符合指定条件的所有 Entity。
Partition
- Entity 分组:从 Collection 中划分而来,包含部分 Entity。
- 检索效率提升:按 Partition 进行检索,提升检索效率。
相关文章:

Milvus向量数据库01-基础概念
Milvus向量数据库01-基础概念 Zilliz Cloud 集群由全托管 Milvus 实例及相关计算资源构成。您可以在 Zilliz Cloud 集群中创建 Collection,然后在 Collection 中插入 Entity。Zilliz Cloud 集群中的 Collection 类似于关系型数据库中的表。Collection 中的 Entity …...
mysql备份数据库
MySQL备份/还原 的方法 mysql备份数据库 mysql备份单个数据库 #mysql备份某个库格式: mysqldump -h主机名 -P端口 -u用户名 -p"密码" --database 数据库名 > 文件名.sql#实例:mysql备份某个库: mysqldump -h10.*.*.9 -P3306 …...
NLP与LLM的工程化实践与学习思考 - 写在开头
NLP与LLM的工程化实践与学习思考[24年半年工作总结] - 写在开头 0 开头的开头 0 开头的开头 24年因为一些工作原因,短暂在NLP领域遨游了半年。这半年对我的影响蛮大,一来是因为此前从没接触过这个方向学到新东西挺开心的,二来是在工程化实践…...
LeetCode322. 零钱兑换(2024冬季每日一题 28)
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...

Unix、GNU、BSD 风格中 ps 参数的区别
注:本文为“不同风格中 ps 命令参数的区别”相关文章合辑。 未去重。 BSD 风格和 UNIX 风格中 ps 参数的区别 作者:Daniel Stori 译者:LCTT Name1e5s | 2017-06-17 10:53 One Last Question ps aux 以及 ps -elf 都是查看进程的方式&…...
单片机读写内部flash实现断电数据存储
在单片机编程中,读写内部Flash存储器是一种常见的方法来实现断电数据存储。这里以STM32系列单片机为例,展示如何通过HAL库进行简单的内部Flash读写操作。 以下是一个完整的示例代码,展示了如何擦除、写入和读取内部Flash中的数据。请注意&am…...

注意力机制介绍
注意力机制介绍 1.注意力机制由来,以及解决什么问题2.什么是注意力机制3.注意力机制分类及如何实现3.1 Soft Attention(常见):软注意3.1.1普通Encoder-Decoder框架3.1.2加入Attention的Encoder-Decoder框架3.1.3如何理解注意力概率分布3.1.4 Attention机制本质思想 3.2 Hard At…...

爬虫运行后数据如何存储?
爬虫运行后获取的数据可以存储在多种不同的存储系统中,具体选择取决于数据的规模、查询需求以及应用场景。以下是一些常见的数据存储方法: 1. 文件系统 对于小型项目或临时数据存储,可以直接将数据保存到本地文件中。常见的文件格式包括&…...
C# 自动自定义截图的内容
C# 自动自定义截图的内容 using System; using System.Drawing; using System.Runtime.InteropServices; class Program {[DllImport("user32.dll")]public static extern IntPtr GetDesktopWindow();[DllImport("user32.dll")]public static extern IntP…...
Java的Stream流:文件处理、排序与串并行流的全面指南
Java的Stream流:文件处理、排序与串并行流的全面指南 Java 8 引入了 Stream API,这是一个用于处理集合数据的强大工具,它提供了一种声明式的方式来进行聚合操作。Stream 不是一个数据结构,而是一种对数据进行操作的抽象ÿ…...

[Maven]下载安装、使用与简介
很多框架的下载使用的流程和思路是差不多的,这里以maven做详细介绍。 下载安装与配置变量 下载 首先,我们要使用maven,必须先下载它的相关文件。想要下载,我们可以直接搜索maven。找到它的官网。这里不绕弯子,直接给出…...

056 WXML+ WXSS+PHP+LW+校园配送商城微信小程序开发与设计 源码 文档 全套资料
校园配送微信小程序 1.项目描述2. 1.绪论3.项目技术与功能4.界面展示5.源码获取 1.项目描述 摘 要 近几年来,随着互联网和电子商务的快速发展和普及,改变了人们日常消费模式。尤其是移动互联网的相结合,使得人们日常生活中更多的是通过手机移…...

Python 在同一/或不同PPT文档之间复制幻灯片
复制幻灯片可以帮助我们更高效地完成工作,节省大量的制作时间。通过复制现有的幻灯片,可以快速创建新的演示文稿,而无需重新设计板式样式等。此外,复制幻灯片还可以帮助我们保持内容的一致性,使整个PPT演示文稿看起来更…...
C#生成CSR(CertificateSigningRequest)和密钥
使用C#原生生成CSR(CertificateSigningRequest)和密钥。 生成的私钥妥善保存,丢失无法找回。 调用 var contents X509Helper.SigningRequestHelper.CreateSigningRequest("yourdomain.com", ["*.yourdomain.com"], X509Helper.AsymmetricAl…...

Docker 安装 Oracle创建表空间并导入数据库
一、Docker 安装Oracle 1、检查docker 版本 2、docker 下载镜像 3、 docker启动容器 4、 进入容器内部 5、安装成功,使用客户端工具连接 二、创建数据库用户与表空间 1、查询数据库文件位置 2、创建表空间 3、创建用户 4、设置权限 三、导出数据库DMP …...

elementui table子级tree懒加载bug
1. 删除子级刷新列表子级依然显示 2.更新状态子级列表未刷新 3.编辑子级后刷新页面显示状态未变更 el-table 树表格load源码 首先,load可以执行,但是只剩一个子节点就有问题,那么就直接可以定位bug在load方法里: 文件路径&am…...

AI与低代码技术融合:如何加速企业智能化应用开发?
引言 随着全球数字化转型的步伐加快,企业在智能化应用开发方面面临着前所未有的挑战和机遇。传统的软件开发方式往往需要大量的技术人员、时间和资源,而在瞬息万变的市场环境中,这种模式显得效率低下且难以满足企业快速迭代和创新的需求。 与…...

【C#】新建窗体文件,Form、UserControl
从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体(通常是窗口): 在 C# 中,Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时,您创建的是一个完整的窗口,可以显示内容、与…...

ansible学习笔记之02command模块与shell模块
目录 1、概述 2、模块介绍 2.1 command模块 2.2 shell模块 2.3 小结 3、实验 3.1 测试ls命令 3.2 测试环境变量 3.3 测试操作符">" 1、概述 本文介绍ansible的command模块与shell模块,并通过实验比对两个模块的异同。 2、模块介绍 2.1…...

在Docker中部署禅道,亲测可用
1、确保centos中已安装docker docker -v 2、启动docker systemctl start docker 3、可设置docker开机启动 systemctl enable docker.service 4、获取最新版禅道开源版镜像 docker pull idoop/zentao 5、运行镜像生成禅道容器【创建 /data/www /data/data 目录】 doc…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...

软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...

未授权访问事件频发,我们应当如何应对?
在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…...

Ray框架:分布式AI训练与调参实践
Ray框架:分布式AI训练与调参实践 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 Ray框架:分布式AI训练与调参实践摘要引言框架架构解析1. 核心组件设计2. 关键技术实现2.1 动态资源调度2.2 …...