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

开源向量数据库Milvus简介

开源向量数据库Milvus简介

Milvus 是一个开源的、高性能、高扩展性的向量数据库,专门用于处理和检索高维向量数据。它适用于相似性搜索(Approximate Nearest Neighbor Search,ANN),特别适合**AI、推荐系统、计算机视觉、自然语言处理(NLP)**等领域。Milvus 由 Zilliz 开发,并已捐赠给 LF AI & Data 基金会。

向量是神经网络模型的输出数据格式,可以有效地对信息进行编码,在知识库、语义搜索、检索增强生成(RAG)等人工智能应用中发挥着举足轻重的作用。

1. 非结构化数据、Embeddings 和 Milvus

文本、图像和音频等非结构化数据格式各异,并带有丰富的底层语义,因此分析起来极具挑战性。为了处理这种复杂性,Embeddings 被用来将非结构化数据转换成能够捕捉其基本特征的数字向量。然后将这些向量存储在向量数据库中,从而实现快速、可扩展的搜索和分析。

Milvus 提供强大的数据建模功能,使您能够将非结构化或多模式数据组织成结构化的 Collections。它支持多种数据类型,适用于不同的属性模型,包括常见的数字和字符类型、各种向量类型、数组、集合和 JSON。

unstructured-data-embedding-and-milvus

Milvus 提供三种部署模式,涵盖各种数据规模:

  • Milvus Lite 是一个 Python 库,可以轻松集成到您的应用程序中。作为 Milvus 的轻量级版本,它非常适合在 Jupyter Notebooks 中进行快速原型开发,或在资源有限的边缘设备上运行。
  • Milvus Standalone 是单机服务器部署,所有组件都捆绑在一个 Docker 镜像中,方便部署。
  • Milvus Distributed 可部署在 Kubernetes 集群上,采用云原生架构,专为十亿规模甚至更大的场景而设计。该架构可确保关键组件的冗余。

2. Milvus架构

Milvus 主要由以下组件组成:

  • Coordinator(协调器):管理元数据、查询和数据分片。
  • Proxy(代理):处理 API 请求并转发给计算节点。
  • QueryNode(查询节点):执行 ANN 查询,返回最近邻数据。
  • DataNode(数据节点):存储和管理向量数据。
  • IndexNode(索引节点):构建和存储索引以加速查询。
  • MetaStore(元数据存储):使用 etcd 存储元数据。
  • Storage(存储层):使用 MinIO/S3 存储向量数据和索引。

highly-decoupled-architecture
Milvus 的云原生和高度解耦的系统架构确保了系统可以随着数据的增长而不断扩展:

Milvus 本身是完全无状态的,因此可以借助 Kubernetes 或公共云轻松扩展。此外,Milvus 的各个组件都有很好的解耦,其中最关键的三项任务–搜索、数据插入和索引/压实–被设计为易于并行化的流程,复杂的逻辑被分离出来。这确保了相应的查询节点、数据节点和索引节点可以独立地向上和向下扩展,从而优化了性能和成本效率。

3. Milvus 支持的搜索类型

Milvus 支持各种类型的搜索功能,以满足不同用例的需求:

  • ANN 搜索:查找最接近查询向量的前 K 个向量。
  • 过滤搜索:在指定的过滤条件下执行 ANN 搜索。
  • 范围搜索:查找查询向量指定半径范围内的向量。
  • 混合搜索:基于多个向量场进行 ANN 搜索。
  • 全文搜索:基于 BM25 的全文搜索。
  • Rerankers:根据附加标准或辅助算法调整搜索结果顺序,完善初始 ANN 搜索结果。
  • 获取:根据主键检索数据。
  • 查询: 使用特定表达式检索数据。

4. 相关资料

  1. Milvus 是什么?: https://milvus.io/docs/zh/overview.md
    Milvus 是什么?: https://milvus.io/docs/zh/overview.md

相关文章:

  • RNN实现精神分裂症患者诊断(pytorch)
  • 在日常工作中,有一块新磁盘,如何扩容到vm中,具体命令是什么?
  • XSL 语言:XML 样式表的语言基础与应用
  • 初识uniApp
  • 【Java项目】基于SpringBoot的Java学习平台
  • 在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?
  • 在什么情况下需要使用光谱相机呢?
  • 《Neurocomputing》投稿历程
  • 从UNIX到Linux:操作系统进化史与开源革命
  • 模拟器DTXMania的DTX文件格式规范
  • 挺逼真:AI绘画+AI扩图,已解锁,无限次生成~~~
  • 「Selenium+Python自动化从0到1②|2025浏览器操控7大核心API实战(附高效避坑模板))」
  • 基于trl复现DeepSeek-R1的GRPO训练过程
  • python之线程池ThreadPoolExecutor笔记
  • 单片机栈和堆、FALSH、区别
  • OpenEuler学习笔记(三十五):搭建代码托管服务器
  • #渗透测试#批量漏洞挖掘#某图创图书馆集群管理系统updOpuserPw SQL注入(CVE-2021-44321)
  • 如何杀死僵尸进程?没有那个进程?
  • 在线流式TTS
  • 【Java项目】基于SpringBoot的财务管理系统
  • 建站网址打不开/游戏优化软件
  • 网站优化设计方案怎么做/海底捞口碑营销案例
  • 全球做的比较好的网站/网站注册免费
  • 深圳网站维护服务的公司/温州seo服务
  • 企业做网站用dedeCMS免费吗/google官网登录
  • wordpress subway/深圳seo优化排名推广