当前位置: 首页 > news >正文

Milvus 介绍

Milvus 介绍

    • Milvus 矢量数据库是什么?
    • 关键概念
      • 非结构化数据
      • 嵌入向量
      • 向量相似度搜索
    • 为什么是 Milvus?
    • 支持哪些索引和指标?
      • 索引类型
      • 相似度指标(Similarity metrics)
    • 应用示例
    • Milvus 是如何设计的?
    • 开发者工具
      • API访问
      • Milvus 生态系统工具

本页面旨在通过回答几个问题来让您大致了解 Milvus。读完本页后,您将了解 Milvus 是什么、它是如何工作的、关键概念、为什么使用 Milvus、支持的索引和指标、示例应用程序、架构和相关工具。

Milvus 矢量数据库是什么?

Milvus 于 2019 年创建,其目标只有一个:存储、索引和管理由深度神经网络和其他机器学习 (ML) 模型生成的大量嵌入向量。

作为专门为处理输入向量查询而设计的数据库,它能够对万亿规模的向量进行索引。与现有的关系数据库主要处理遵循预定义模式的结构化数据不同,Milvus 是自下而上设计的,用于处理从非结构化数据转换而来的嵌入向量。

随着互联网的发展和发展,非结构化数据变得越来越普遍,包括电子邮件、论文、物联网传感器数据、Facebook 照片、蛋白质结构等等。为了让计算机理解和处理非结构化数据,使用嵌入技术将这些数据转换为向量。 Milvus 存储并索引这些向量。 Milvus 能够通过计算两个向量的相似距离来分析它们之间的相关性。如果两个嵌入向量非常相似,则意味着原始数据源也相似。

在这里插入图片描述

关键概念

如果您不熟悉矢量数据库和相似性搜索领域,请阅读以下关键概念的解释,以获得更好的理解。

了解有关 Milvus 术语表的更多信息。

非结构化数据

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

嵌入向量

嵌入向量是非结构化数据的特征抽象,例如电子邮件、物联网传感器数据、Instagram 照片、蛋白质结构等等。从数学上来说,嵌入向量是浮点数或二进制数的数组。现代嵌入技术用于将非结构化数据转换为嵌入向量。

向量相似度搜索

向量相似性搜索是将向量与数据库进行比较以查找与查询向量最相似的向量的过程。近似最近邻(ANN)搜索算法用于加速搜索过程。如果两个嵌入向量非常相似,则意味着原始数据源也相似。

为什么是 Milvus?

  • 在海量数据集上进行矢量搜索时具有高性能。
  • 一个开发者优先的社区,提供多语言支持和工具链。
  • 即使发生中断,云的可扩展性和高可靠性也是如此。
  • 通过将标量过滤与向量相似性搜索配对来实现混合搜索。

支持哪些索引和指标?

索引是数据的组织单位。您必须先声明索引类型和相似性度量,然后才能搜索或查询插入的实体。如果不指定索引类型,Milvus 将默认进行暴力搜索(brute-force search)。

索引类型

  • FLAT:FLAT 最适合在小型、百万级数据集上寻求完全准确且精确的搜索结果的场景。
  • IVF_FLAT:IVF_FLAT是一种基于量化的索引,最适合在精度和查询速度之间寻求理想平衡的场景。还有一个 GPU 版本 GPU_IVF_FLAT。
  • IVF_SQ8:IVF_SQ8 是基于量化的索引,最适合寻求显着减少磁盘、CPU 和 GPU 内存消耗的场景,因为这些资源非常有限。
  • IVF_PQ:IVF_PQ是一种基于量化的索引,最适合追求高查询速度甚至不惜牺牲准确性的场景。还有一个 GPU 版本 GPU_IVF_PQ。
  • HNSW:HNSW是基于图的索引,最适合对搜索效率要求较高的场景。

有关详细信息,请参阅向量索引。

相似度指标(Similarity metrics)

在 Milvus 中,相似度度量用于衡量向量之间的相似度。选择良好的距离度量有助于显着提高分类和聚类性能。根据输入数据形式,选择特定的相似性度量以获得最佳性能。

广泛用于浮点嵌入的指标包括:

  • 欧氏距离(Euclidean distance)(L2):该度量通常用于计算机视觉(CV)领域。
  • 内积(Inner product)(IP):该指标一般用于自然语言处理(NLP)领域。

广泛用于二进制嵌入的指标包括:

  • Hamming:该指标一般用于自然语言处理(NLP)领域。
  • Jaccard:这个指标一般用在分子相似性搜索领域。

有关更多信息,请参阅相似性度量。

应用示例

Milvus 可以轻松地将相似性搜索添加到您的应用程序中。 Milvus 的示例应用包括:

  • 图像相似性搜索:图像可搜索并立即从海量数据库中返回最相似的图像。
  • 视频相似度搜索:通过将关键帧转换为向量,然后将结果输入 Milvus,可以近乎实时地搜索和推荐数十亿视频。
  • 音频相似度搜索:快速查询语音、音乐、音效等海量音频数据,表面相似声音。
  • 推荐系统:根据用户行为和需求推荐信息或产品。
  • 问答系统:交互式数字 QA 聊天机器人,自动回答用户问题。
  • DNA序列分类:通过比较相似的DNA序列,在毫秒内准确梳理出基因的分类。
  • 文本搜索引擎:通过将关键字与文本数据库进行比较,帮助用户找到他们正在寻找的信息。

更多 Milvus 应用场景请参见 Milvus 教程和 Milvus 采用者。

Milvus 是如何设计的?

Milvus 作为云原生向量数据库,在设计上将存储和计算分离。为了增强弹性和灵活性,Milvus 中的所有组件都是无状态的。

该系统分为四个级别:

  • 访问层:访问层由一组无状态代理组成,作为系统的前端层和用户的端点。
  • 协调器服务:协调器服务将任务分配给工作节点,充当系统的大脑。
  • 工作节点:工作节点充当手臂和腿,是哑执行器,遵循协调器服务的指令并执行用户触发的 DML/DDL 命令。
  • 存储:存储是系统的骨骼,负责数据的持久化。它包括元存储、日志代理和对象存储。

有关更多信息,请参阅架构概述。

在这里插入图片描述

开发者工具

Milvus 有丰富的 API 和工具支持,以促进 DevOps。

API访问

Milvus 有封装在 Milvus API 之上的客户端库,可用于通过应用程序代码以编程方式插入、删除和查询数据:

  • PyMilvus

  • Node.js SDK

  • Go SDK

  • Java SDK

我们正在努力启用更多新的客户端库。如果您愿意贡献,请前往 Milvus 项目相应的存储库。

Milvus 生态系统工具

Milvus 生态系统提供了有用的工具,包括:

  • Milvus 命令行界面

  • Attu, Milvus 的图形化管理系统。

  • MilvusDM (Milvus 数据迁移),一款专门用于使用 Milvus 导入和导出数据的开源工具。

  • Milvus sizing tool, Milvus 估算工具,可帮助您估算指定数量的各种索引类型向量所需的原始文件大小、内存大小和稳定磁盘大小。

相关文章:

Milvus 介绍

Milvus 介绍 Milvus 矢量数据库是什么?关键概念非结构化数据嵌入向量向量相似度搜索 为什么是 Milvus?支持哪些索引和指标?索引类型相似度指标(Similarity metrics) 应用示例Milvus 是如何设计的?开发者工具API访问Milvus 生态系统工具 本页…...

Linux绝对路径和相对路径

在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置。 只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径和相对路径。…...

Linux:firewalld防火墙-基础使用(2)

上一章 Linux:firewalld防火墙-介绍(1)-CSDN博客https://blog.csdn.net/w14768855/article/details/133960695?spm1001.2014.3001.5501 我使用的系统为centos7 firewalld启动停止等操作 systemctl start firewalld 开启防火墙 systemct…...

【每日一练】20231023

统计每个字符出现的次数相关问题 方法一&#xff1a;map的put方法遍历 public class Test {public static void main(String[] args) {StringBuilder sb new StringBuilder("");Random ran new Random();for(int i0;i<2000000;i) {sb.append((char) (a ran.n…...

【项目经理】工作流引擎

项目经理之 工作流引擎 一、业务系统管理目的维护信息 二、组织架构管理目的维护信息 三、角色矩阵管理目的维护信息 四、条件变量管理目的维护信息 五、流程模型管理目的维护信息 六、流程版本管理目的维护信息 七、流程监管控制目的维护信息 系列文章版本记录 一、业务系统管…...

025-第三代软件开发-实现需求长时间未操作返回登录界面

第三代软件开发-实现需求长时间未操作返回登录界面 文章目录 第三代软件开发-实现需求长时间未操作返回登录界面项目介绍实现需求长时间未操作返回登录界面实现思路用户操作监控QML 逻辑处理 关键字&#xff1a; Qt、 Qml、 QTimer、 timeout、 eventFilter 项目介绍 欢迎…...

驱动开发LED灯绑定设备文件

头文件 #ifndef __HEAD_H__ #define __HEAD_H__typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t;#define PHY_LED1_ADDR 0x50006000 #define PHY_LED2_ADDR 0x50007000 #defin…...

MySql 数据库基础概念,基本简单操作及数据类型介绍

文章目录 数据库基础为什么需要数据库&#xff1f;创建数据库mysql架构SQL语句分类编码集修改数据库属性数据库备份 表的基本操作存在时更新&#xff0c;不存在时插入 数据类型日期类型enum和set 数据库基础 以特定的格式保存文件&#xff0c;叫做数据库&#xff0c;这是狭义上…...

异步加载 JavaScript

目录 ​编辑 前言&#xff1a;异步加载 JavaScript 的重要性 详解&#xff1a;异步加载 JavaScript 的方法 使用 使用动态创建标签&#xff1a; 使用模块引入&#xff08;ES6模块&#xff09;&#xff1a; 解析&#xff1a;异步加载 JavaScript 的重要性和优势 实践和注…...

汽车屏类产品(四):仪表Cluster

###前言 仪表Cluster/仪表盘Dashboard,作为伴随汽车诞生就存在的一个主要零部件之一,从机械到电子到数字,可以说也是逐渐发展到现在的。 目前的主流框图如下,中间processor就是主控芯片,可能有buttons/switches,有display显示屏+backlight背光,有audio->speake…...

【GA-ELM】基于遗传算法优化极限学习机回归预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

DFT和ATE岗位前景薪资对比,手把手教你如何选择岗位?

ATE测试和DFT可测性设计&#xff0c;虽然二者都对芯片测试至关重要&#xff0c;但是两个岗位的区别还是很大的。 两个岗位应该如何做选择&#xff1f; 先讲产业环节 我们知道芯片设计、芯片制造、芯片封测每个环节都是大工程&#xff0c;且每个环节都关键且重要。测试是芯片诞…...

驱动day4作业

通过字符设备驱动的分步实现编写LED驱动&#xff0c;另外实现特备文件和设备的绑定 head.h #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }…...

【Oracle】VC6.0使用 odbc 访问 Oracle 存储过程

环境说明 系统环境 系统&#xff1a;Windows XP IDE&#xff1a; Microsoft Visual C 6.0 使用的对象 msado15.tlh _ConnectionPtr m_pConnection; HRESULT hr m_pConnection.CreateInstance(“ADODB.Connection”); _RecordsetPtr m_pRecordset; m_pRecordset.CreateInstan…...

QWidget快速美化-圆形蓝色单选框

将代码复制进QRadioButton的样式表 效果: 代码: QRadioButton{font:75 9pt "Arial";background:transparent;color:white;border:none; }QRadioButton:disabled{color:gray; }QRadioButton::indicator{width:12px;height:12px;border-radius:8px; }QRadioButton::i…...

adb 获取当前界面元素

adb配置正确&#xff0c;直接看6&#xff0c;pull的位置是你执行pull的目录下。 --------------------------------------------------------------------------------------------------------------------------------- 使用adb命令获取当前应用的元素需要先连接到手机或模…...

SpringSecurity源码学习四:会话管理

目录 1. 什么是会话管理2. springSecurity中的session管理怎么做的3. springSecurity源码中的session管理4. 代码示例5. 源码5.1 不同策略的含义 6. 集群模式session管理7. 总结 1. 什么是会话管理 会话管理是指在Java应用程序中管理用户会话状态的过程。在Spring框架中&#…...

Kotlin笔记(七):协程

1. 协程的定义 协程属于Kotlin中非常有特色的一项技术&#xff0c;因为大部分编程语言中是没有协程这个概念的。 什么是协程呢&#xff1f;它其实和线程是有点类似的&#xff0c;可以简单地将它理解成一种轻量级的线程。要知道&#xff0c;线程是非常重量级的&#xff0c;它需要…...

存储优化知识复习二详细版解析

存储优化 知识复习二 一、 选择题 1、 对数据库调优的方法中&#xff0c;最困难但是最有成效的是( )。 A、优化表的架构设计 B、添加内存 C、索引优化 D、查询语句优化 【参考答案】A2、 防止与处理死锁的方法有&#xff08; &#xff09;。 A、尽量避免或尽快处理阻塞 B、访…...

《持续交付:发布可靠软件的系统方法》- 读书笔记(七)

持续交付&#xff1a;发布可靠软件的系统方法&#xff08;七&#xff09; 第 7 章 提交阶段7.1 引言7.2 提交阶段的原则和实践7.2.1 提供快速有用的反馈7.2.2 何时令提交阶段失败7.2.3 精心对待提交阶段7.2.4 让开发人员也拥有所有权7.2.5 在超大项目团队中指定一个构建负责人 …...

从‘它怎么又挂了’到‘服务真稳’:我是如何用Docker给老旧PHP项目续命的

从‘它怎么又挂了’到‘服务真稳’&#xff1a;我是如何用Docker给老旧PHP项目续命的 维护一个运行了十年的PHP项目就像照顾一位脾气古怪的老教授——你知道他肚子里有货&#xff0c;但那些过时的习惯和依赖总能让你在深夜崩溃。上周五下午4点&#xff0c;当我第17次收到"…...

电磁暴露与场域隐身理论

——兼论人类通讯升维对外星文明探测与UFO现象的直接影响 一、核心立论 1. 人类当前主流通讯电磁波广播模式&#xff0c;本质是电磁场二维切片辐射&#xff0c;与爱迪生发明的电灯泡在物理底层完全同源&#xff0c;属于低维、暴露、高能耗的“宇宙灯塔行为”。 2. 高级星际文明…...

JavaWeb技术全景解析:从核心组件到实战架构

1. JavaWeb技术全景概览 当你第一次接触JavaWeb开发时&#xff0c;可能会被各种术语和概念搞得晕头转向。别担心&#xff0c;这就像学做菜一样&#xff0c;刚开始分不清酱油和醋很正常。JavaWeb本质上就是用Java技术来开发网站和Web应用的一套解决方案&#xff0c;它能让你的程…...

从频谱分析到PCB布线:开关电源EMI优化的5个关键步骤(附实测数据)

从频谱分析到PCB布线&#xff1a;开关电源EMI优化的5个关键步骤&#xff08;附实测数据&#xff09; 在实验室的示波器前&#xff0c;我们常常会看到这样的场景&#xff1a;工程师盯着屏幕上跳动的波形和杂乱的频谱图皱眉——开关电源的EMI问题又来了。无论是传导干扰超标还是辐…...

面试官总爱问的LRU缓存,我用Java手写了一个(附完整代码和避坑点)

面试官最爱问的LRU缓存&#xff1a;从原理到Java实战的深度解析 为什么LRU缓存是面试中的常青树&#xff1f; 在技术面试中&#xff0c;设计一个高效的缓存系统几乎是必考题&#xff0c;而LRU&#xff08;Least Recently Used&#xff09;算法则是这类问题中最经典的考察点。…...

双摄帧同步:从软同步到硬同步的工程实践与调试指南

1. 双摄帧同步技术概述 第一次接触双摄同步需求时&#xff0c;我也被各种专业术语搞得头晕眼花。简单来说&#xff0c;双摄帧同步就是要让手机的两个摄像头像双胞胎一样默契配合&#xff0c;确保它们拍摄的画面在时间上完全对齐。想象一下用双眼看世界时&#xff0c;如果左右眼…...

算法安全自评估报告怎么写?内容框架 + 难点解析 + 实战模板(直接照搬)

本文适合&#xff1a;算法工程师、合规专员、产品负责人、备案申报人员&#xff0c;全文干货无废话&#xff0c;可直接用于项目申报、内部评审、算法备案材料。一、前言随着《算法推荐管理规定》《生成式人工智能服务管理暂行办法》等政策落地&#xff0c;算法安全自评估报告已…...

成本-质量-时延三角平衡法则,深度拆解大模型MLOps评估中被90%团队忽略的3个隐性指标

第一章&#xff1a;大模型工程化评估指标体系构建指南 2026奇点智能技术大会(https://ml-summit.org) 构建面向生产环境的大模型评估指标体系&#xff0c;需兼顾模型能力、系统性能、业务适配性与合规可持续性四大维度。脱离工程落地场景的纯学术指标&#xff08;如零样本准确…...

Qt5离线安装包国内下载失败?别急,用迅雷搞定Windows/Mac/Linux全平台(附完整地址规律)

Qt5离线安装包高效下载指南&#xff1a;跨平台解决方案与URL解析 遇到Qt5离线安装包下载失败时&#xff0c;许多开发者第一反应可能是寻找特殊网络工具&#xff0c;但其实有更简单高效的解决方案。本文将详细介绍如何利用常规下载工具获取Qt5全平台安装包&#xff0c;并解析其U…...

rasterizeHTML.js API完全手册:从drawHTML到drawURL的完整使用指南

rasterizeHTML.js API完全手册&#xff1a;从drawHTML到drawURL的完整使用指南 【免费下载链接】rasterizeHTML.js Renders HTML into the browsers canvas 项目地址: https://gitcode.com/gh_mirrors/ra/rasterizeHTML.js rasterizeHTML.js是一款强大的JavaScript库&am…...