Milvus 深潜教程 · 起点
把 Milvus 当成一个流式分布式数据库来学
基于 Milvus 2.6.x(截至 2026-06)· 阅读时间约 4–6 小时(深潜版,可分次)· 示例代码用于说明概念,未在本机运行(已逐处标注)。这份教程不重复向量检索基础,专攻“Milvus 之所以是 Milvus”。
▸适合谁 / 不适合谁
适合谁
同时满足这三条,收益最大:
前置能力
- 用任意一门语言写过后端服务,看到“索引”“分片”“副本”不需要查词——不要求精通分布式。
- 已经知道向量检索是什么:embedding、ANN(近似最近邻)、召回率与延迟的取舍。缺这块先读隔壁 vector-database 教程 再回来。
- 见过至少一个带消息队列或对象存储的系统(Kafka / RocketMQ、S3 / MinIO 任一即可),知道它们各自解决什么问题。
不适合谁
下面三种情况,别从这里开始:
- 还不清楚 embedding / 向量相似度是什么 → 先读 vector-database 教程,那里有基础。
- 只想 5 分钟存几条向量跑个 demo → 直接看 Milvus Lite 快速开始,这份深潜对你是浪费。
- 正在为“要不要上向量库”做决策、数据量不到百万级 → 先跳到 第 05 章的选型辨析,结论往往是 pgvector 或 Chroma 就够了。
▸读完之后你能做到什么
这份教程给你的、文档给不了的那一句:
你能向面试官或团队讲清楚:为什么 Milvus 把一次 insert 拆成「先写日志 → 再固化 segment → 再异步建索引」三段,以及这套流式架构如何同时决定了它的一致性语义、扩展边界、和适用场景——这是只读 API 文档学不到的整体观。
具体地,读完你能(每条都可验证,不是“理解 X”):
- 凭记忆画出 Milvus 的 4 层架构,并说出每个组件的单一职责。
- 给定数据规模 / 召回 / 延迟 / 内存约束,选出索引类型,并区分建索引旋钮(nlist、M)和查询旋钮(nprobe、ef)。
- 说清 4 个一致性级别各自的机制,并为一个 RAG 场景选对级别、讲出代价。
- 区分
partition与shard、growing与sealedsegment,并说明各自影响什么。 - 判断一个具体场景该用 Milvus,还是 pgvector / Qdrant / Chroma,并给出依据。
一句话本质
Milvus 不是“带服务器的 FAISS”。它是一个存储计算分离的流式分布式数据库:写入先落预写日志(WAL),日志才是事实源;数据被固化成不可变的 segment,而 segment 是存储、索引、查询、负载均衡的统一调度单元;向量检索只是它最上层的一个算子。
▸现状速览(截至 2026-06)
稳定:核心数据模型与索引 API 自 2.4(2024-03)起稳定;MilvusClient 统一 SDK、HNSW / IVF / DiskANN、稀疏向量与多向量混合检索都已成熟。
在快速变化:2.6(2025-08)做了两处架构级改动——自研 Woodpecker WAL 替掉外部 Pulsar / Kafka、多个 coordinator 合并为单个 MixCoord 并新增 streaming node;全文检索(BM25)/ 稀疏向量在 2.5–2.6 成熟;Storage V2、RaBitQ 1-bit 量化、INT8 向量是 2.6 的新面孔。
已被取代(别学旧的):旧的多协调器部署、对 Pulsar / Kafka 的硬依赖、ORM 风格 Collection() SDK 都已让位;3.0(2026-05 beta)正把 Milvus 推向“Vector Lake”多模态数据湖,尚未 GA。本教程统一用新写法,并在涉及处标注。
这份教程会反复让你产生“懂了”的错觉。这三种感觉尤其要警惕:
「我读得很顺」——顺往往只说明文字写得顺,不代表结构进了脑子。
「我做题很快」——快常常是在套刚看过的例子,换个数据规模或一致性要求就卡住。
「我没卡壳」——没卡壳,往往是还没真正碰到难点(比如“为什么默认是 Bounded 而不是 Strong”)。
对策:每章末的 self-check 和第 05 章的辨析题,合上教程再作答。
▸概念地图
整份教程挂在这一张图上。后面每出现一个新名词,先回来这里找它的位置。
▸学习路径建议
按目的挑一条,不必从头读到尾:
▸章节目录
- 01 · 核心概念——Milvus 的词汇表:Collection / Schema / 向量字段 / Entity / Partition vs Shard / Segment 生命周期 / Flush,以及索引与一致性名词。
- 02 · 架构:流式分布式——存储计算分离、日志即事实源、4 层组件职责、写入路径、segment 生命周期与 compaction。整套流式架构观在这一章成形。
- 03 · 索引内核——HNSW / IVF / DiskANN / GPU CAGRA / 稀疏索引的机制、量化(SQ/PQ/RaBitQ)、召回-延迟-内存三角,及“建索引旋钮 vs 查询旋钮”。
- 04 · 检索与一致性——一次 search 如何执行(growing + sealed 并行检索 → reduce、过滤与分区裁剪),4 个一致性级别的机制(TSO / guarantee timestamp)。
- 05 · 自测与辨析——三层梯度题库 + 跨章选型辨析 + 一个“合上教程手画架构图”的练习。
▸学完之后往哪走
- RAG 系统集成——把 Milvus 接进检索增强生成链路:在你的 schema 上加“分块、嵌入、混合检索、rerank”一整套。见 rag 教程。
- 生产部署与调优——Distributed 模式的资源规划、segment / compaction 调参、监控指标:在 schema 上加“运维视角”。
- 多向量与混合检索——dense + sparse 双路召回与加权 rerank:加“一次查询多种相似度”的能力。
- Milvus 3.0 / Vector Lake——外部表、快照、UDF、Ray/Daft 分布式执行:加“向量库 → 数据湖”的演进方向。