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

Milvus--向量数据库

        Milvus 是一个开源的向量数据库,专为高维向量数据的存储、查询和检索而设计。它支持多种类型的向量数据,如浮点数向量、整数向量等,并且提供了强大的向量相似度计算功能。Milvus采用分布式架构,可以轻松地扩展到大规模数据集,同时保证了数据的一致性和可用性。

关键概念和特点

1. 非结构化数据:
    非结构化数据指的是数据结构不规则,没有统一的预定义数据模型,不方便用数据库二维逻辑表来表现的数据。这包括图片、视频、音频、自然语言等多种非结构化数据。
    Milvus 可以帮助处理这些非结构化数据,将其抽象为高维特征向量,从而实现高效的向量相似度搜索。

2. 特征向量:
    特征向量是由 embedding 技术从离散变量(如图片、视频、音频、自然语言等各种非结构化数据)转变而来的连续向量。
    通过向量表示,Milvus 可以捕捉到数据的语义相似性,使得不同模态的数据之间可以相互匹配。

3. 多模态搜索:
    Milvus 自带多模态功能,支持机器学习方法处理和理解来自不同源的多种模态信息,如文本、图像、音频和视频等。
    这使得 Milvus 能够应用于多语言搜索、图像检索等多模态应用。

4. 大模型的赋能:
    Milvus 可以拓展大模型的边界,包括时间边界和空间边界。
    时间边界的拓展:Milvus 使得大模型具有“长期记忆”,能够处理新信息。
    空间边界的拓展:Milvus 支持本地部署,解决大模型泄露隐私的问题。

5. Milvus 2.0:
    Milvus 2.0 是一款云原生向量数据库,采用存储与计算分离的架构设计。

总之,Milvus 是一个强大的向量数据库,适用于处理和搜索大规模的高维向量数据,为 AI 应用和向量相似度搜索提供了加速引擎。

 性能

        Milvus 是一款高性能的向量数据库,专为 AI 应用设计,以处理和检索海量向量数据。以下是关于 Milvus 性能的一些关键点:

1. 性能提升:
   在最新的 Milvus 2.2 benchmark 中,Milvus 相比之前的版本取得了 50% 以上的性能提升。
   在 1M 向量串行执行的场景下,Milvus 实现了 3ms 以下的延迟,整体 QPS 甚至超过了 ElasticSearch 的 10 倍。

2. 优化技巧:
   Milvus 的性能可以通过合理预计数据量、表数目大小、QPS 参数等指标进行优化。
   选择合适的索引类型和参数对于向量召回的性能至关重要,Milvus 支持多种不同的索引,如 Annoy、Faiss、HNSW、DiskANN 等。

3. 高可用性和弹性:
   Milvus 支持 Kubernetes 部署,以获得最佳可用性和弹性³。
   它还支持数据分片、数据持久性、流式数据摄入、向量和标量之间的混合搜索、时间旅行等高级功能³。

4. 云原生架构:
   Milvus 是云原生的,采用存储与计算分离的架构设计,支持海量向量数据的实时召回。
   它基于 FAISS、Annoy、HNSW 等向量搜索库构建,解决稠密向量相似度检索的问题。

综上所述,Milvus 的性能非常出色,适合需要处理大规模、高维向量数据的应用场景。

可扩展性 

        Milvus 是一款引领大规模相似度搜索的向量数据库,具备高性能和高可扩展性。让我们深入探讨一下它的可扩展性特点:

1. 高可扩展性:
    Milvus 基于云原生分布式架构,能够实现百亿级别的向量索引扩展。
    它支持存储与计算分离,离在线一体化,使得数据库在应对不同场景时更加灵活。

2. 丰富的生态支持:
    Milvus与多个大模型生态系统深度集成,包括OpenAI、Langchain、Semantic Kernel、Llama-Index、AutoGPT、Towhee、Hugging face、Cohere等,为用户提供了丰富的应用场景和解决方案。

3. 一键部署:
    用户可以通过控制台快速创建Milvus向量数据库实例,全流程平台托管,无需进行任何安装、部署和运维操作,有效减少搭建和运维成本开销。

4. 服务高可用:
    Milvus采用云原生分布式构建,具备故障自动切换和自愈能力,全面提升实例可用性。
    它还支持安全组管理,通过配置安全组,授权特定访问源,保证服务及数据的安全。

5. 完善的监控:
    Milvus向量数据库提供可视化监控面板,用户可以全面了解数据库实例的运行情况,及时发现并解决问题。

        总之,Milvus的高可扩展性使其适用于智能客服、推荐系统、NLP服务、计算机视觉等AI领域的广泛应用。

支持索引类型

         Milvus 是一个云原生向量数据库,它支持多种向量索引类型,以便高效地处理和查询大规模的向量数据。根据不同的应用场景和数据规模,Milvus 提供了以下几种索引类型:

1. FLAT:适用于需要100%召回率且数据规模相对较小(百万级)的向量相似性搜索应用¹。
2. IVF_FLAT:基于量化的索引,适用于追求查询准确性和查询速度之间理想平衡的场景(高速查询、要求高召回率)。
3. IVF_SQ8:基于量化的索引,适用于磁盘或内存、显存资源有限的场景(高速查询、磁盘和内存资源有限、接受召回率的小幅妥协)。
4. IVF_PQ:基于量化的索引,适用于追求高查询速度、低准确性的场景(超高速查询、磁盘和内存资源有限、接受召回率的实质性妥协)。
5. HNSW:基于图的索引,适用于追求高查询效率的场景(高速查询、要求尽可能高的召回率、内存资源大的情景)。
6. ANNOY:基于树的索引,适用于追求高召回率的场景(低维向量空间)。

        此外,Milvus 还支持其他一些索引类型,如 SCANN、DISKANN 等,以及 AUTOINDEX,这是一种自动选择最合适索引类型的功能。每种索引类型都有其特定的应用场景和优势,用户可以根据自己的需求选择最适合的索引类型。

相关文章:

Milvus--向量数据库

Milvus 是一个开源的向量数据库,专为高维向量数据的存储、查询和检索而设计。它支持多种类型的向量数据,如浮点数向量、整数向量等,并且提供了强大的向量相似度计算功能。Milvus采用分布式架构,可以轻松地扩展到大规模数据集&…...

php质量工具系列之PHPCPD

PHPCPD 用于检测重复代码,直观的说就是复制粘贴再稍微改改 该工具作者已经 停止维护 安装 composer global require --dev sebastian/phpcpd执行 phpcpd --log-pmd phpcpd_result.xml ./app参数介绍 --log-pmd 将结果保存在phpcpd_result.xml 中 ./app 是phpcpd扫…...

Android14 WMS-窗口绘制之relayoutWindow流程(二)-Server端

本文接着如下文章往下讲 Android14 WMS-窗口绘制之relayoutWindow流程(一)-Client端-CSDN博客 然后就到了Server端WMS的核心实现方法relayoutWindow里 WindowManagerService.java - OpenGrok cross reference for /frameworks/base/services/core/java/com/android/server…...

安全测试 之 安全漏洞:SQL注入

1. 背景 持续学习安全测试ing,安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品是否符合安全需求定义和产品质量标准的过程。也就是说安全测试是建立在功能测试的基础上进行的测试。 2. SQL…...

CUDA和驱动版本之间的对应关系

这个之前总结过,可是不太好找,专门写一篇博客再总结一下: 1. CUDA 12.5 Release Notes — Release Notes 12.5 documentation 相信很多朋友有一样的需求。...

MDK(μVsion3)问题总结及解决方法

问题 1:MDK 工具的 CARM 编译器? 我原来对 CARM 编译器比较熟悉,想用 CARM 编译器编译工程,但是却弹出一个不能执 行“cc”的错误,到 KEIL 网站查下才知道原因:由于 CARM 编译器是比较老的编译器&#xff0…...

手眼标定学习笔记

目录 标定代码: 手眼标定原理学习 什么是手眼标定 手眼标定的目的 eye in hand eye to hand AXXB问题的求解 标定代码: GitHub - pumpkin-ws/HandEyeCalib 推荐博文: https://zhuanlan.zhihu.com/p/486592374 手眼标定原理学习 参…...

Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统

下载链接:https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取码:5gk6 戴尔原装系统自带网卡、显卡、声卡、蓝牙等所有硬件驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell、迈克菲等预装软…...

【第8章】SpringBoot实战篇之文章分类(上)

文章目录 前言一、后端代码1. CategoryController2. service3. CategoryMapper4. Category 二、测试1. 失败(校验)2.正常 总结 前言 从这开始进入文章相关的接口开发,本章主要介绍定义文章分类接口和新增文章分类 建表语句和测试用例,在SpringBoot专栏首…...

【QT】Qt Plugin开发

目录 插件是什么QT插件是什么 为什么要有插件开发插件开发优势插件和动态库区别 Qt PluginQT插件类型QT插件开发流程QT插件应用QT插件JSON文件 参考文章 插件是什么 插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。…...

快速了解GPU分布通信技术:PCIe、NVLink与NVSwitch

在现代高性能计算和深度学习领域,GPU的强大计算能力使其成为不可或缺的工具。然而,随着模型复杂度的增加,单个GPU已经无法满足需求,需要多个GPU甚至多台服务器协同工作。这就要求高效的GPU互联通信技术,以确保数据传输…...

Python对获取数据的举例说明

当使用Python来获取数据时,有许多不同的方法和库可以根据你的需求来选择。以下是一些常见的示例,说明如何使用Python来从各种来源获取数据。 1. 从网站或API获取JSON数据 你可以使用requests库从网站或API获取JSON格式的数据。例如,从某个API…...

JVMの垃圾回收

在上一篇中,介绍了JVM组件中的运行时数据区域,这一篇主要介绍垃圾回收器 JVM架构图: 1、垃圾回收概述 在第一篇中介绍JVM特点时,有提到过内存管理,即Java语言相对于C,C进行的优化,可以在适当的…...

人工智能就业方向有哪些?

人工智能就业方向有哪些? 随着人工智能技术的不断发展,其应用领域也越来越广泛。对于想要进入人工智能领域的年轻人来说,选择一个合适的职业方向是至关重要的。今天给大家介绍六个热门的人工智能就业方向,分别是机器学习工程师、自然语言处理…...

自定义类型:枚举和联合体

在之前我们已经深入学习了自定义类型中的结构体类型 ,了解了结构体当中的内存对齐,位段等知识,接下来在本篇中将继续学习剩下的两个自定义类型:枚举类型与联合体类型,一起加油!! 1.枚举类型 …...

负载均衡加权轮询算法

随机数加权轮询算法 public int select() {int[] weights {10, 20, 50};int totalWeight weights[0] weights[1] weights[2];// 取随机数int offset ThreadLocalRandom.current().nextInt(totalWeight);for (int i 0; i < weights.length; i) {offset - weights[i];i…...

PyTorch 相关知识介绍

一、PyTorch和TensorFlow 1、PyTorch PyTorch是由Facebook开发的开源深度学习框架&#xff0c;它在动态图和易用性方面表现出色。它以Python为基础&#xff0c;并提供了丰富的工具和接口&#xff0c;使得构建和训练神经网络变得简单快捷。 发展历史和背景 PyTorch 是由 Fac…...

1千2初中英语语法题库ACCESS\EXCEL数据库

英语语法是针对英语语言进行研究后&#xff0c;系统地总结归纳出来的一系列语言规则。英语语法的精髓在于掌握语言的使用。比如词类有名词、代词、数词、感叹词等&#xff0c;时态有一般状态、进行状态、完成状态和完成进行状态四种&#xff0c;语态有主动语态、被动语态等。 …...

高德面试:为什么Map不能插入null?

在 Java 中&#xff0c;Map 是属于 java.util 包下的一个接口&#xff08;interface&#xff09;&#xff0c;所以说“为什么 Map 不能插入 null&#xff1f;”这个问题本身问的不严谨。Map 部分类关系图如下&#xff1a; 所以&#xff0c;这里面试官其实想问的是&#xff1a;为…...

MySQL数据库主从配置

MySQL主从配置 1. 修改数据库my.cnf文件 修改数据库my.cnf文件&#xff0c;在文件中添加如下内容&#xff0c;其中主数据库的server-id必须要比从库的更小。 # 注册集群id server-id101 # 开启二进制日志文件 log-binmysql-bin # 设置日志格式 binlog-formatrow # 开启中继日…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...

Qt的学习(一)

1.什么是Qt Qt特指用来进行桌面应用开发&#xff08;电脑上写的程序&#xff09;涉及到的一套技术Qt无法开发网页前端&#xff0c;也不能开发移动应用。 客户端开发的重要任务&#xff1a;编写和用户交互的界面。一般来说和用户交互的界面&#xff0c;有两种典型风格&…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...