news 2026/6/15 18:28:13

milvus:存储检索高维向量的AI数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
milvus:存储检索高维向量的AI数据库

在当今的大数据时代,非结构化数据正以指数级的速度增长,包括文本、图像、音频和视频等形式。据统计,世界80%的数据以非机构化数据存储.要在这些数据中进行快速高效的搜索和管理,传统的关系型数据库往往显得力不从心。这种背景下,Milvus 作为一款专门为大规模向量搜索设计的开源数据库,得到了广泛应用。

第一章:Milvus基础

1.1什么是 Milvus?

Milvus 是一种新型的开源向量数据库,专门为存储和检索高维向量设计。它被广泛应用于图像检索、自然语言处理 (NLP)、推荐系统、视频分析和生物信息学等领域。Milvus 的核心是基于向量的近似最近邻(ANN,Approximate Nearest Neighbor)搜索技术,通过高效的索引机制,使得在高维空间中检索相似数据的任务变得可行。

1.2为什么选择使用 Milvus

  • 高性能:性能高超,可对海量数据集进行向量相似度检索。
  • 高可用、高可靠:Milvus 支持在云上扩展,其容灾能力能够保证服务高可用。
  • 混合查询:Milvus 支持在向量相似度检索过程中进行标量字段过滤,实现混合查询。
  • 开发者友好:支持多语言、多工具的 Milvus 生态系统。

第二章:Milvus分布式架构

Milvus的分布式架构显著增强了其处理大规模数据的能力。它采用存储与计算分离的架构,通过分布式文件系统)实现数据的高效存储,并通过分布式计算框架来协调各节点之间的任务调度。

这种架构的优势在于:

  • 高扩展性:可以动态添加计算或存储节点以应对数据增长。
  • 容错性:即使某些节点出现故障,系统也能继续运行。

2.1多种索引类型

在高维向量搜索中,索引的选择直接影响查询性能和准确性。Milvus 支持以下主要索引:

  • IVF(Inverted File System):适用于大数据集的批量查询。
  • HNSW(Hierarchical Navigable Small World):以更高精度和速度进行实时搜索。
  • DiskANN:一种面向磁盘优化的索引,可处理超大规模数据。

通过灵活选择索引类型,用户可以根据具体应用场景在性能和资源消耗之间找到平衡。

2.2动态分区

Milvus允许用户根据特定条件对数据进行分组,以便提高查询效率。例如,在图像检索中,可以根据图像所属的类别(如猫、狗、鸟等)创建分区,从而加快特定类别数据的检索速度。

真实世界案例:使用 Milvus构建图像搜索系统

为了更好地理解 Milvus 的功能,我们来看一个实际案例:构建一个图像搜索系统,允许用户通过上传图片来查找相似图片。

第三章:Milvus存储服务

存储服务是系统的骨骼,负责 Milvus 数据的持久化,分为元数据存储(meta store)、消息存储(log broker)和对象存储(object storage)三个部分。

3.1元数据存储

负责存储元信息的快照,比如:集合 schema 信息、节点状态信息、消息消费的 checkpoint 等。元信息存储需要极高的可用性、强一致和事务支持,因此,etcd 是这个场景下的不二选择。除此之外,etcd 还承担了服务注册和健康检查的职责。

3.2对象存储

负责存储日志的快照文件、标量 / 向量索引文件以及查询的中间处理结果。Milvus 采用 MinIO 作为对象存储,另外也支持部署于 AWS S3 和 Azure Blob 这两大最广泛使用的低成本存储。但是,由于对象存储访问延迟较高,且需要按照查询计费,因此 Milvus 未来计划支持基于内存或 SSD 的缓存池,通过冷热分离的方式提升性能以降低成本。

3.3消息存储

消息存储是一套支持回放的发布订阅系统,用于持久化流式写入的数据,以及可靠的异步执行查询、事件通知和结果返回。执行节点宕机恢复时,通过回放消息存储保证增量数据的完整性。

目前,分布式版 Milvus 依赖 Pulsar 作为消息存储,单机版 Milvus 依赖 RocksDB 作为消息存储。消息存储也可以替换为 Kafka、Pravega 等流式存储。

整个 Milvus 围绕日志为核心来设计,遵循​日志即数据​的准则

日志系统作为系统的主干,承担了数据持久化和解耦的作用。通过日志的发布订阅机制,Milvus 将系统的读、写组件解耦。一个极致简化的模型如上图所示,整个系统主要由两个角色构成,分别是消息存储(log broker)(负责维护”日志序列 “)与“日志订阅者”。其中的“日志序列” 记录了所有改变库表状态的操作,“日志订阅者”通过订阅日志序列更新本地数据,以只读副本的方式提供服务。 发布订阅机制还为系统在变更数据捕获(CDC)和全面的分布式部署方面的可扩展性提供了空间。

第四章:Milvus 应用场景

你可以使用 Milvus 搭建符合自己场景需求的向量相似度检索系统。Milvus 的使用场景如下所示:

  • 图片检索系统:以图搜图,从海量数据库中即时返回与上传图片最相似的图片。
  • 视频检索系统:将视频关键帧转化为向量并插入 Milvus,便可检索相似视频,或进行实时视频推荐。
  • 音频检索系统:快速检索海量演讲、音乐、音效等音频数据,并返回相似音频。
  • 分子式检索系统:超高速检索相似化学分子结构、超结构、子结构。
  • 推荐系统:根据用户行为及需求推荐相关信息或商品。
  • 智能问答机器人:交互式智能问答机器人可自动为用户答疑解惑。
  • DNA 序列分类系统:通过对比相似 DNA 序列,仅需几毫秒便可精确对基因进行分类。
  • 文本搜索引擎:帮助用户从文本数据库中通过关键词搜索所需信息。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 5:45:49

2025年学术文本去AI化工具的实证研究:基于多平台数据的对比分析

一、研究背景与问题提出 随着生成式人工智能技术的快速发展,学术界对AI生成内容的识别能力已从初期的表层特征检测发展为深度语义分析。教育部《关于加强高校论文AI检测工作的通知》(教技[2025]12号)明确指出,AI生成内容的检测标…

作者头像 李华
网站建设 2026/6/15 12:38:51

LangFlow面试问题生成器:HR效率提升利器

LangFlow面试问题生成器:HR效率提升利器 在企业招聘节奏日益加快的今天,一个高效的面试流程往往决定了人才争夺战的成败。然而,许多HR仍面临这样的困境:每换一个岗位,就要重新构思一套结构化问题;不同面试…

作者头像 李华
网站建设 2026/6/15 11:04:58

LangFlow前端架构分析:React + Dagre-D3技术栈探秘

LangFlow前端架构分析:React Dagre-D3技术栈探秘 在AI应用开发日益普及的今天,一个令人头疼的问题始终存在:如何让非专业开发者也能快速构建基于大语言模型(LLM)的工作流?传统方式依赖大量代码和对LangCha…

作者头像 李华
网站建设 2026/6/15 13:53:02

Mac窗口置顶神器Topit:解锁多任务处理的终极密码

Mac窗口置顶神器Topit:解锁多任务处理的终极密码 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在Mac上进行多任务工作时,频繁切换窗口…

作者头像 李华
网站建设 2026/6/15 13:53:48

EMI抑制在高速电路板PCB中的实践方法

高速PCB设计中的EMI抑制实战:从布局到滤波的系统性解决方案 你有没有遇到过这样的场景? 产品功能完美,软件稳定,样机一上电——EMC测试却在300MHz附近“爆表”。工程师熬夜改板、加磁珠、贴屏蔽罩,最后靠“物理外挂”…

作者头像 李华
网站建设 2026/6/15 14:12:48

GeoJSON.io 地理数据编辑工具:从零基础到精通的完整操作指南

GeoJSON.io 地理数据编辑工具:从零基础到精通的完整操作指南 【免费下载链接】geojson.io A quick, simple tool for creating, viewing, and sharing spatial data 项目地址: https://gitcode.com/gh_mirrors/ge/geojson.io 想要快速上手地理数据编辑却担心…

作者头像 李华