Milvus中那些年重要的基本概念

        Milvus是一款开源的云原生向量数据库,专为海量向量数据的存储、检索和管理而设计。它支持实时的向量相似度搜索,适用于各种AI和机器学习应用场景。以下是Milvus的一些基本概念:

非结构化数据

        非结构化数据是指那些不遵循特定数据模型或格式、无法在传统关系型数据库中轻松存储的数据。这类数据包括文本、图像、音频和视频等,它们通常是自由形式的,包含丰富的信息,但也更加复杂。

        在Milvus中,非结构化数据通过特征提取转换为向量形式,即每个数据点被转换为数值向量,这些向量能够在多维空间中表示原始数据的特征。例如,一张图片可以通过深度学习模型转换为一个特征向量,该向量捕捉了图片的关键特征,如颜色、形状和纹理。

        Milvus作为一个向量数据库,专门用于存储和检索这些向量。它利用先进的索引策略,如倒排索引(Inverted Index)和HNSW(Hierarchical Navigable Small World),来快速检索相似的向量,从而找到与查询条件最匹配的非结构化数据。

        简而言之,Milvus将非结构化数据的复杂性转化为向量空间中的简单性,使得这些数据可以通过向量相似度进行高效的搜索和分析。这对于实现基于内容的检索(CBIR)、推荐系统、自然语言处理等应用至关重要。

特征向量(Embedding Vector)

       Milvus是一款开源的向量数据库,支持TB级向量的增删改操作和近实时查询,集成了多种向量索引库,提供了一整套简单直观的API。 特征向量是将非结构化数据转换成的连续向量,通常由浮点数或二进制数数组组成。这些向量可以用于计算数据之间的相似度。

  1. 向量定义:向量是具有一定大小和方向的量,可以理解为一串数字的集合,类似于一行多列的矩阵。例如:[2,0,1,9,0,6,3,0]。
  2. 特征向量:特征向量包含事物的重要特征,常见的特征向量如RGB色彩,其中每种颜色通过红、绿、蓝三种颜色的比例得到。
  3. 优势:特征向量能够高效准确地描述多媒体内容,对于机器学习和模式识别领域至关重要。
  4. 应用领域:广泛应用于图像识别、语音识别、垃圾邮件过滤等多个领域。

向量相似度检索

在Milvus中,向量相似度检索是一项核心功能,它允许用户在海量向量数据中快速找到与查询向量最相似的数据。以下是详细描述:

  1. 加载集合:在进行搜索之前,需要将包含向量数据的集合(Collection)加载到内存中。这是因为Milvus中的所有搜索和查询操作都在内存中执行。
  2. 准备搜索参数:根据搜索场景,定义搜索参数。例如,可以指定使用欧几里得距离(L2)来计算向量之间的距离,并从索引中检索最近的向量。
  3. 执行搜索:使用定义好的搜索参数,Milvus将计算查询向量与集合中向量之间的距离,并返回最相似的结果。搜索可以是简单的向量搜索,也可以是混合搜索,后者结合了标量字段过滤。
  4. 搜索结果:Milvus返回的搜索结果包括最相似的向量的ID和它们的相似度分数。用户可以根据这些信息进一步处理或分析数据。

Collection(集合)

        在Milvus中,Collection(集合)是存储和管理向量数据的基本单位,类似于关系型数据库中的表(table)。以下是关于Milvus中Collection的详细描述:

  • Collection的结构:每个Collection由多个字段(Field)组成,这些字段可以包含向量字段(用于存储向量数据)和标量字段(如数字、文本等用于存储描述性数据或元数据)。

  • 创建Collection:创建一个Collection时,需要定义其结构,包括字段的名称、类型和其他属性。例如,可以创建一个包含书籍ID、书名、单词数量和书籍简介向量的Collection。在创建新Collection时,Milvus会创建一个默认分区 _default

  • Collection的操作:用户可以对Collection执行各种操作,如插入数据、建立索引、搜索和删除等。

  • 分区和分片:为了提高数据管理的灵活性和搜索的效率,Collection可以被划分为多个分区(Partition)。此外,Collection还可以配置分片(Shard),以支持大规模分布式部署。

  • 索引和搜索:为了加速向量数据的检索,Milvus允许用户在Collection上创建索引。创建索引后,可以使用向量相似度搜索功能来快速找到与查询向量最相似的数据。

  • 扩展性:Milvus的设计支持高扩展性,可以容纳数千个Collection,满足大数据量和多租户场景下的需求。

  • 示例代码:以下是一个使用Python SDK创建Collection的示例代码:

from pymilvus import CollectionSchema, FieldSchema, DataTypebook_id = FieldSchema(name="book_id",dtype=DataType.INT64,is_primary=True,
)book_name = FieldSchema(name="book_name",dtype=DataType.VARCHAR,max_length=200,
)word_count = FieldSchema(name="word_count",dtype=DataType.INT64,
)book_intro = FieldSchema(name="book_intro",dtype=DataType.FLOAT_VECTOR,dim=2
)schema = CollectionSchema(fields=[book_id, book_name, word_count, book_intro],description="Test book search"
)collection_name = "book"

         这个示例展示了如何定义一个Collection的模式,包括主键字段、标量字段和向量字段。在实际应用中,向量字段通常具有更高的维度。Milvus的Collection是处理和检索向量数据的强大工具,它为各种AI和ML应用提供了灵活、高效的数据管理和搜索能力。

        Milvus的架构设计上,采用了存储与计算分离的模式,所有组件都是无状态的,以增强系统的弹性和灵活性。它包括接入层、协调服务、执行节点和存储层,每个层次都可以独立扩展和容灾。

        Milvus的应用场景非常广泛,包括但不限于图像搜索、推荐系统、自然语言处理和生物信息学等领域。如果您想了解更多关于Milvus的信息,可以访问其官方文档或社区资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/691167.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三星硬盘格式化后怎么恢复数据

在数字化时代,硬盘作为数据存储的核心部件,承载着我们的重要文件、照片、视频等资料。然而,不慎的格式化操作可能使我们失去宝贵的数据。面对这样的困境,许多用户可能会感到无助和焦虑。本文旨在为三星硬盘用户提供格式化后的数据…

4.5网安学习第四阶段第五周回顾(个人学习记录使用)

本周重点 ①部署域环境(Win2008) ②域组策略 ③域内信息收集 ④(重点)哈希传递攻击PTH ⑤MS14-068 提权漏洞 ⑥黄金票据伪造 ⑦白银票据伪造 ⑧ZeroLogon (CVE-2020-1472) 漏洞复现 本周主要内容 ①部署域环境(Win2008)…

QT自适应界面 处理高DPI 缩放比界面乱问题

1.pro文件添加 必须添加要不找不到 QT版本需要 5。4 以上才支持 QT widgets 2.main界面提前处理 // 1. 全局缩放使能QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);// 2. 适配非整数倍缩放QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::High…

特斯拉擎天柱机器人:工厂自动化的未来

随着技术的进步,工业自动化已经逐步进入了一个新的纪元。特斯拉最近公布的擎天柱机器人Optimus的演示,不仅仅展示了一个高科技机器人的能力,更是向我们揭示了未来工厂的可能性。 特斯拉擎天柱机器人的功能展示 马斯克在最新的演示中向我们展…

mysql oceanbase数据库alter语句阻塞,解决方案

获取当前阻塞事件 select d.trx_started, a.thread_id, b.processlist_id, a.SQL_text from performance_schema.events_statements_current ajoin performance_schema.threads b on a.thread_id b.thread_idjoin information_schema.processlist c on b.processlist_id c.i…

关于画图-一次性搞定各类高级论文作图及配色

关于画图-一次性搞定各类高级论文作图及配色 图(Figure)可以让各类论文的结果更加直观,有时候一张图片比一大段文字更有说服力。 但许多新手作者可能会有一连串的疑惑:数据这么多,什么时候该做什么类型的图&#xff…

C++Linux系统编程——makefile

Makefile Makefile简介 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于…

【图论 回溯 广度优先搜索】126. 单词接龙 II

本文涉及知识点 图论 回溯 深度优先搜索 广度优先搜索 图论知识汇总 LeetCode 126. 单词接龙 II 按字典 wordList 完成从单词 beginWord 到单词 endWord 转化,一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> … -> sk 这样的单词序…

【简单介绍下Sass】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

C++(week3):C语言文件操作

文章目录 (十二) 文件1.流(1)流模型(2)程序员视角的文件(3)缓冲区类型(4)标准流(5)二进制文件 与 文本文件(6)文件流的接口(API) 2.打开/关闭文件(1)fopen(2)fclose(3)示例代码 3.读/写文件(1)fgetc / fputc:一个字符一个字符地读写(2)fgets / fputs:一行…

Java 【数据结构】 哈希(Hash超详解)HashSetHashMap【神装】

登神长阶 第十神装 HashSet 第十一神装 HashMap 目录 👔一.哈希 🧥1.概念 🩳2.Object类的hashCode()方法: 👚3.String类的哈希码: 👠4.注意事项: 🎷二.哈希桶 🪗1.哈希桶原理 &#x…

llm.c的Makefile

源码 CC ? clang CFLAGS -Ofast -Wno-unused-result -Wno-ignored-pragmas -Wno-unknown-attributes LDFLAGS LDLIBS -lm INCLUDES CFLAGS_COND -marchnative# Find nvcc SHELL_UNAME $(shell uname) REMOVE_FILES rm -f OUTPUT_FILE -o $ CUDA_OUTPUT_FILE -o $# N…