Milvus翻译站点

3周前发布 9 0 0

Apache-2.0 许可的企业级云原生向量数据库,万亿级向量毫秒检索,K8s 原生存算分离,LF AI 毕业项目。

语言:
英文
收录时间:
2026-08-24

Milvus 是 Zilliz 主导开源的高性能云原生向量数据库,Apache-2.0 许可,LF AI & Data Foundation 毕业项目。专为大规模高维向量数据集的相似性搜索设计,在万亿向量数据集上实现毫秒级平均延迟​ 。

Milvus 2.0 起采用存算分离、全组件无状态的云原生架构,可根据负载类型按需弹性伸缩 。核心能力:丰富的 API、元数据过滤、混合搜索、多向量、实时流式更新、内置复制与故障转移 。

官方定位:”High-Performance Vector Database Built for Scale” ——它是向量数据库分类中“企业级分布式”的代表作,与 Qdrant(Rust 高性能过滤)、Weaviate(AI-native 混合检索)、Vespa(搜索+向量+排序一体化)、Pinecone(全托管 SaaS)形成清晰的差异化。

 

产品概述

Milvus 于 2019 年 10 月以 Apache-2.0 许可开源 ,目前是 LF AI & Data Foundation 的毕业项目(Graduate Project) ,由 Zilliz 公司作为主要贡献者维护 。

 

核心定位哲学

官方首页开宗明义——”高性能向量数据库,为规模而构建” 。三个不可妥协的设计原则:

  • 为规模而生:在万亿向量数据集上保持毫秒级平均延迟
  • 云原生架构:存算分离、全组件无状态,按需弹性伸缩
  • 开发者友好:写一次代码,一行命令部署到生产

 

它做什么 / 不做什么(关键归类):

  • :作为向量数据库服务运行 → 接收 Embedding 向量写入 → 构建全局索引(HNSW/IVF/DISKANN/GPU-CAGRA 等)→ 接收 ANN 相似度查询 → 元数据过滤 + 混合搜索 + 多向量检索 → 毫秒级返回 Top-K 结果
  • 不做:不生成 Embeddings(需外接嵌入模型或服务)、不做业务级 RAG 编排(是 RAG 的向量底座)、不提供全文检索与排序一体化(这是 Vespa 的能力)
  • 本质是向量数据库引擎:它是向量数据库分类中“企业级分布式”的代表——在万亿级向量规模上做毫秒级 ANN 检索,K8s 原生存算分离架构让资源调度极为高效 。

 

技术架构​ :

  • 实现语言:Go + C++(硬件加速 CPU/GPU)
  • 架构模式:云原生,存算分离,所有组件无状态
  • 部署拓扑
    • Milvus Lite:轻量级版本,pip install pymilvus[milvus-lite],适合快速原型
    • Standalone:单机部署模式
    • Distributed:完全分布式模式,K8s 原生,处理十亿级向量上的数万查询
    • Zilliz Cloud:全托管服务,提供 Serverless / Dedicated / BYOC 三种选项
  • 索引算法:全局索引(HNSW 等),硬件加速 CPU/GPU
  • 能力矩阵:元数据过滤、混合搜索、多向量、实时流式更新、内置复制与故障转移/故障回退

 

许可策略:Apache-2.0 许可证 ,允许商用、修改、分发,无 copyleft 限制,是最干净许可阵营。

 

社区与生态​ :

  • 45.4K GitHub Stars、4.1K Forks(持续增长的企业级向量数据库标杆)
  • LF AI & Data Foundation 毕业项目
  • PyPI 包 pymilvuspip install -U pymilvus 安装
  • 丰富资源:文档、示例代码、Discord 社区、Contributing 指南

💡 与同层向量数据库的关键差异

  • vs Qdrant:Qdrant 是 Rust 编写的高性能向量库,过滤检索极强、量化降内存;Milvus 是 Go/C++ 云原生分布式,万亿级规模毫秒检索
  • vs Weaviate:Weaviate 是 AI-native 数据库,BM25+向量混合检索原生、模块化 ML;Milvus 是纯粹的向量数据库引擎,规模与性能极致
  • vs Vespa:Vespa 是搜索+向量+排序+ML 推理一体化引擎;Milvus 专注向量 ANN 检索,万亿级规模优势明显
  • vs Pinecone:Pinecone 是全托管 SaaS(闭源);Milvus 是开源 Apache-2.0,可自托管可上 Zilliz Cloud
  • vs VikingDB(已收录):VikingDB 是火山/BytePlus 云原生全托管向量数据库,百亿级、多模态、稠密+稀疏混合检索;Milvus 是开源等价物,分布式规模可达万亿级

 

核心能力

 

-大规模向量检索(核心差异化)

  • 万亿向量毫秒检索:在万亿向量数据集上实现毫秒级平均延迟
  • 十亿级高并发:分布式模式下处理十亿级向量上的数万次搜索查询
  • 全局索引:使用全局索引快速准确检索数据,无论规模如何
  • 硬件加速:CPU/GPU 硬件加速实现最佳向量搜索性能

 

-丰富检索能力

  • 元数据过滤:功能丰富的元数据过滤
  • 混合搜索:稠密向量 + 稀疏向量混合检索
  • 多向量:支持多向量表示
  • 距离度量:余弦、点积、欧氏距离(根据上下文推断的标准 ANN 度量)

 

-云原生弹性架构

  • 存算分离:Milvus 2.0 起采用存储与计算分离的云原生设计
  • 组件无状态:所有组件无状态,提升弹性与灵活性
  • 组件级伸缩:可根据负载类型按需组件级自动伸缩,资源调度高效
  • K8s 原生:完全分布式架构,K8s 原生部署

 

-生产级可靠性

  • 内置复制:确保数据高可用
  • 故障转移/回退:业务连续性保障
  • 实时流式更新:保持数据新鲜度
  • 始终在线:内置复制和故障转移/故障回退确保业务连续性

 

-多形态部署

  • Milvus Litepip install pymilvus[milvus-lite],轻量单机,快速原型
  • Standalone:单机服务模式
  • Distributed:K8s 分布式集群,十亿级规模生产
  • Zilliz Cloud:全托管 Serverless / Dedicated / BYOC

 

-开发者体验

  • PyMilvus SDKfrom pymilvus import MilvusClient
  • 一行代码部署生产:写一次代码,一行命令部署到生产环境
  • 一致体验:笔记本、本地集群、云端一致的用户体验
  • 丰富 API:为数据科学工作流设计的丰富 API

 

优势亮点

  • Apache-2.0 最干净许可:与 Qdrant/Vespa 同属最宽松许可阵营,商用、修改、分发无限制
  • 万亿级规模毫秒检索:官方明确定位”Trillion-scale vector datasets with millisecond search”
  • LF AI & Data Foundation 毕业项目:开源治理规范,企业采用风险低
  • 云原生存算分离:Milvus 2.0 全组件无状态,弹性伸缩极致
  • 45.4K GitHub Stars:向量数据库社区规模最高之一
  • 多形态部署:Lite / Standalone / Distributed / Zilliz Cloud 覆盖从原型到万亿级生产
  • 硬件加速:Go/C++ 实现 + CPU/GPU 硬件加速,性能极致
  • K8s 原生:完全分布式,处理十亿级向量上的数万查询
  • 生产级可靠性:内置复制、故障转移/回退、实时流式更新
  • 丰富检索能力:元数据过滤、混合搜索、多向量
  • Zilliz Cloud 全托管选项:Serverless / Dedicated / BYOC 三种形态

 

局限

  • 自己不生成 Embeddings:Milvus 只存储和检索向量,需外接嵌入模型(OpenAI、Hugging Face 等)或服务
  • 深度运维能力要求:Distributed 模式需要 K8s 集群管理经验,运维复杂度高于 Pinecone 全托管
  • 无原生全文检索与排序一体化:混合检索需应用层配合,不像 Vespa 那样搜索+向量+ML 推理+排序统一引擎
  • BM25 混合检索不如 Weaviate 原生:Weaviate 在数据库内核层原生融合 BM25+向量,Milvus 的混合搜索能力相对应用层
  • 无内置重排(Rerank):不像 Vespa 那样内置分布式 ML 模型推理做 relevance ranking
  • 学习曲线:分布式部署、索引选型、参数调优需要向量数据库专业知识
  • 资源消耗:十亿级规模生产部署需要显著的 CPU/GPU/内存资源
  • 与 VikingDB 对比:VikingDB 是火山/BytePlus 云原生全托管(存算分离、百亿级、多模态、稠密+稀疏混合检索);Milvus 是开源等价物,自托管需自己运维,但可达万亿级规模
  • 与 Qdrant 对比:Qdrant 在过滤检索与量化降内存方面更强,Milvus 在分布式规模与生态完整性方面更强
  • 与 Pinecone 对比:Pinecone 全托管零运维但闭源+供应商锁定;Milvus 开源可控但需自运维(或用 Zilliz Cloud)

 

适用人群

  • 企业级大规模向量检索:十亿至万亿级向量规模的 RAG、推荐系统、图像检索、语义搜索
  • 需要数据主权的团队:金融、医疗、政企等受监管行业,必须自托管且数据不出私网
  • K8s 云原生团队:已有 K8s 基础设施,希望向量数据库融入云原生技术栈
  • 多模态检索系统:图像检索、视频检索、跨模态检索(RAG、图像搜索、多模态搜索场景官方提及)
  • GraphRAG 应用:Milvus 官方文档明确支持 Graph RAG 场景
  • 高并发实时检索:需要每秒数万次查询的大规模生产系统
  • AI 应用开发者:基于 PyMilvus SDK 快速构建向量检索能力
  • Zilliz Cloud 用户:希望以全托管形态使用 Milvus 能力,Serverless / Dedicated / BYOC 三选项

 

安装与部署

 

1. 环境要求

  • Milvus Lite:Python 3.8+,pip install pymilvus[milvus-lite]
  • Standalone/Distributed:Linux x86_64 / ARM64,Docker / K8s
  • 生产推荐:K8s 集群 + 对象存储(S3/MinIO)+ 消息队列(Pulsar/NATS)

 

2. Milvus Lite 快速起步

# 安装
pip install -U pymilvus

# 使用 MilvusClient 创建客户端
from pymilvus import MilvusClient

# 本地文件持久化
client = MilvusClient("milvus_demo.db")

# 或使用 Zilliz Cloud / 自托管 Milvus
# client = MilvusClient(
#     uri="<endpoint_of_self_hosted_milvus_or_zilliz_cloud>",
#     token="<username_and_password_or_zilliz_cloud_api_key>"
# )

# 创建集合(768 维向量)
client.create_collection(
    collection_name="demo_collection",
    dimension=768
)

# 插入数据
# res = client.insert(collection_name="demo_collection", data=data)

# 向量搜索
# query_vectors = embedding_fn.encode_queries(["Who is Alan Turing?", "What is AI?"])
# res = client.search(
#     collection_name="demo_collection",
#     data=query_vectors,
#     limit=2,
#     output_fields=["vector", "text", "subject"]
# )

 

3. Docker Compose 部署 Standalone

# 下载 docker-compose.yml
wget https://github.com/milvus-io/milvus/releases/download/v2.4.13/milvus-standalone-docker-compose.yml -O docker-compose.yml

# 启动服务
docker compose up -d

# 验证
docker ps  # 应看到 milvus-etcd, milvus-minio, milvus-standalone 三个容器

# 连接
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")

 

4. K8s 分布式部署

# 使用 Milvus Operator 或 Helm Chart
helm repo add milvus https://milvus-io.github.io/milvus-helm/
helm install my-release milvus/milvus --set cluster.enabled=true

# 或使用 Milvus Operator
# 参考官方 K8s 部署文档

 

5. Zilliz Cloud 全托管

from pymilvus import MilvusClient

# Serverless / Dedicated / BYOC 任一形态
client = MilvusClient(
    uri="https://your-instance.zillizcloud.com",
    token="your-api-key"
)

# 后续 API 与自托管完全一致

 

6. 部署前必检清单

  • 确认仓库位于 github.com/milvus-io/milvus(官方)
  • 许可:Apache-2.0 ,商用自托管无限制
  • 严格属于向量数据库分类,“企业级分布式”子类
  • 官方定位:”High-Performance Vector Database Built for Scale”
  • 开发方:Zilliz(主要贡献者),LF AI & Data Foundation 毕业项目
  • 实现语言:Go + C++,硬件加速 CPU/GPU
  • 架构:云原生存算分离,Milvus 2.0 起所有组件无状态
  • 规模能力:万亿向量数据集毫秒级平均延迟
  • 部署形态:Milvus Lite / Standalone / Distributed(K8s)/ Zilliz Cloud(Serverless/Dedicated/BYOC)
  • 核心能力:元数据过滤、混合搜索、多向量、实时流式更新、内置复制与故障转移
  • 社区规模:45.4K GitHub Stars、4.1K Forks
  • 自己不生成 Embeddings,需外接嵌入模型/服务
  • 与 Qdrant(Rust 高性能过滤)、Weaviate(AI-native 混合检索)、Vespa(搜索+向量+排序一体化)、Pinecone(全托管 SaaS)差异化明确
  • 与 VikingDB(已收录)互补:VikingDB 是火山/BytePlus 云原生全托管,Milvus 是开源等价物且可达万亿级规模

相关导航