Chapter 1 Milvus向量数据库入门:认知与架构 1.1 学习目标 理解向量数据库的核心价值与应用场景 掌握Milvus的定位、发展历程与核心优势 拆解Milvus的核心架构,理解各组件的功能与协同逻辑 完成Milvus的环境部署(单机版),搭建基础学习环境 区分Milvus Lite、Standalone与集群版的差异,明确各版本适用场景 1.2 向量数据库基础认知 1.2.1 什么是向量与向量数据库? 在AI领域,文本、图像、音频、视频等非结构化数据经过模型(如BERT、ResNet)编码后,会转化为一组具有固定维度的数值数组,这组数组就是“向量”(也叫嵌入向量/Embedding)。
在AI领域,文本、图像、音频、视频等非结构化数据经过模型(如BERT、ResNet)编码后,会转化为一组具有固定维度的数值数组,这组数组就是“向量”(也叫嵌入向量/Embedding)。向量的核心价值是通过数值维度刻画数据的语义/特征信息,两个向量的距离(如欧氏距离、余弦距离)越小,代表对应的原始数据语义/特征越相似。
向量数据库是专门用于存储、管理、检索向量数据的数据库系统,核心能力是“相似性检索”——即快速从海量向量中找到与目标向量最相似的Top K个向量。相比传统关系型数据库(如MySQL)和键值数据库(如Redis),向量数据库在处理高维向量数据、支持高效相似性检索场景中具备不可替代的优势。
Milvus是一款开源的、云原生的向量数据库,专注于海量高维向量数据的高效相似性检索与管理。由Zilliz公司主导开发,2019年首次发布,目前最新稳定版本为Milvus 2.x(相较于1.x版本,架构全面升级,支持分布式部署、多租户管理等企业级特性)。
Milvus的核心定位:为AI应用提供“海量向量存储+快速相似检索”的基础能力,降低AI应用开发中向量管理的复杂度。
Milvus提供三种核心部署版本,分别为Milvus Lite、Milvus Standalone(单机版)和Milvus Distributed(集群版),各版本围绕“向量存储与检索”核心能力,在架构复杂度、部署成本、性能规模及适用场景上形成差异化,满足从原型开发到大规模生产的全流程需求。各版本核心差异如下:
pip install pymilvus即可安装,运维成本几乎为零;Standalone依赖Docker环境,部署步骤简单,运维难度低;集群版需依赖Kubernetes生态,需专业团队进行集群管理与运维。补充说明:三种版本支持统一API,基于Milvus Lite开发的应用可无缝迁移至Standalone或集群版,数据也可通过工具直接导出迁移,保障开发流程的连贯性。
需要注意的是,milvus_lite版本【*不支持windows系统*】
Milvus 2.x采用微服务架构,各组件独立部署、协同工作,核心组件分为“数据处理层”“元数据管理层”“存储层”三大模块,具体组件及功能如下:
Meta Service:元数据服务,基于ETCD实现,负责存储Milvus的核心元数据,如数据库/集合信息、用户权限信息、组件节点信息等,保障整个系统的正常协同。
客户端通过Proxy发送请求 → Proxy将请求分发至对应组件(Data Node处理写入、Index Node构建索引、Query Node处理查询) → 元数据由Meta Service管理 → 数据最终存储在对象存储与消息队列中,实现“读写分离、异步处理”的高效架构模式。
依赖项:Docker 19.03+ 和 Docker Compose 1.25.1+
Milvus支持docker部署,因此在不同平台上具有较好的通用性,如果不了解docker 可以参考 Docker+万字教程
在 Microsoft Windows 上安装 Docker Desktop 后,就可以在管理员模式下通过 PowerShell 或 Windows 命令提示符访问 Docker CLI。你可以在 PowerShell、Windows Command Prompt 或 WSL 2 中运行 Docker Compose 来启动 Milvus。
# Download the configuration file and rename it as docker-compose.yml C:\>Invoke-WebRequest https://github.com/milvus-io/milvus/releases/download/v2.4.15/milvus-standalone-docker-compose.yml -OutFile docker-compose.yml # Start Milvus C:\>docker compose up -d Creating milvus-etcd ... done Creating milvus-minio ... done Creating milvus-standalone ... done

根据网络连接情况,下载用于安装 Milvus 的映像可能需要一段时间。名为milvus-standalone、milvus-minio 和milvus-etcd的容器启动后,你可以看到:
如果安装了 WSL 2,还可以调用 Linux 版本的 Docker Compose 命令。
C:\>wsl --install Ubuntu already installed. Starting Ubuntu...
wget https://github.com/milvus-io/milvus/releases/download/v2.4.17/milvus-standalone-docker-compose.yml -O docker-compose.yml
sudo docker compose up -d Creating milvus-etcd ... done Creating milvus-minio ... done Creating milvus-standalone ... done
启动成功后可看到相关容器创建完成的提示(如上述命令输出所示)。
mkdir -p ~/milvus && cd ~/milvus
wget https://github.com/milvus-io/milvus/releases/download/v2.4.5/milvus-standalone-docker-compose.yml -O docker-compose.yml
(注:若无法访问GitHub,可通过国内镜像获取,或直接在Milvus官网下载)
docker-compose up -d
docker-compose ps
若看到“milvus-standalone”“etcd”“minio”三个容器状态均为“Up”,则部署成功。
Attu 是一款一体化的 Milvus 管理工具,旨在管理和与 Milvus 交互,提供以下功能:
Attu 提供了2种安装的方法:
ipconfig

找到 WSL (Hyper-V firewall) IPv4地址。
docker run -p 8000:3000 -e MILVUS_URL={milvus server IP}:19530 zilliz/attu:v2.5.6
示例:
docker run -p 8000:3000 -e MILVUS_URL=172.X.X.1:19530 zilliz/attu:v2.5.6 # 根据实际的版本进行替换
需要注意的是,Attu和Milvus之间有兼容性问题,最好按照官方推荐的版本来:
| Milvus 版本 | 推荐 Attu 版本 |
|---|---|
| 2.5.x | v2.5.6 |
| 2.4.x | v2.4.12 |
| 2.3.x | v2.3.5 |
| 2.2.x | v2.2.8 |
| 2.1.x | v2.2.2 |

等待执行完毕后,在浏览器打开:http://127.0.0.1/ 即可访问Attu管理界面。



本章核心掌握:
其中,各部署版本的差异认知可帮助后续根据项目规模与需求精准选择部署方案,而单机版部署则为基础实操能力的核心载体。
后续章节将基于此基础,深入学习Milvus的核心概念与实操技能。