Milvus基础介绍
Milvus介绍
1、定义
Milvus 是一款开源的向量数据库(Vector Database)。
-
核心作用:专门用来存储和检索“非结构化数据”(如文本、图片、音频、视频)转化成的向量(一串数字)。
-
应用场景:AI 大模型的“长期记忆”(RAG)、以图搜图、语义搜索、推荐系统。
-
最新状态:截至 2026 年初,最新版本已到 v2.6.9,性能极强,支持十亿级向量检索。
2、模式介绍
可以看到milvus有(单机版standalone,分布式集群版Cluster,轻量版Milvus lite云托管版Zilliz Cloud),下面我们介绍它们的使用场景和特点。
| 模式 | 英文名称 | 适用场景 | 特点 |
|---|---|---|---|
| 单机版 | Standalone | 个人开发、测试、小规模生产 | 你当前使用的模式。所有组件(查询、索引、存储等)打包在一个 Docker 容器里,资源占用少,启动快,最适合学习。 |
| 分布式集群版 | Cluster Mode | 大规模生产环境 | 将组件拆分为多个微服务(QueryNode, DataNode, IndexNode 等),部署在 Kubernetes (K8s) 上。支持横向扩展,能处理百亿级向量,高可用,但部署复杂。 |
| 轻量嵌入版 | Milvus Lite | 本地应用、边缘设备 | 一个纯 Python 库 (pip install milvus-lite),无需 Docker,直接在进程内运行 SQLite + 向量引擎。适合小型工具或离线 Demo。 |
| 云托管版 | Zilliz Cloud | 企业不想运维 | 由 Milvus 原班人马提供的全托管云服务(SaaS),开箱即用,自动扩缩容,按量付费。 |
安装 Docker Desktop 和 Milvus
在 Windows 11 上使用 Docker Desktop 安装 Milvus 非常简单,官方推荐使用 Docker Compose 方式来部署单机版(Standalone)。
1、安装docker desktop
下载:去 Docker 官网下载 Windows 版安装包。
开启虚拟化:重启电脑进入 BIOS,确保开启了 Virtualization Technology (VT-x/AMD-V)。
安装:一路 Next,安装完成后重启电脑。
启动:打开 Docker Desktop,等待左下角显示绿色图标(Engine running)。
设置建议:在 Settings -> Resources 中,给 Docker 分配至少 4GB 内存(Milvus 吃内存)。
2、安装Milvus
不需要手动敲复杂的 docker run 命令,官方提供了编排文件。
1)创建目录
mkdir H:\myMilvus
cd H:\myMilvus
2)下载配置文件:
curl https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/standalone/docker-compose.yml -o docker-compose.yml
3)启动服务
docker compose up -d
-d 表示后台运行。
首次运行会下载几个镜像(milvus, etcd, minio),需要一点时间。
4)验证:docker ps
看到 milvus-standalone 状态为 Up 即成功。
安装 Python(windows)
方法 A:官方安装包(最纯净)
-
去 python.org 下载
.exeinstaller。 -
关键一步:安装界面底部务必勾选 "Add Python to PATH"(添加到环境变量)。
-
点击 "Install Now"。
-
验证:新开 CMD,输入
python --version。
方法 B:Anaconda/Miniconda(数据科学推荐 ⭐)
-
适合人群:搞 AI、数据分析、需要频繁切换库版本的人
-
优势
-
预装了 NumPy, Pandas 等几百个科学计算库。
-
拥有强大的
conda包管理器,解决 C++ 依赖编译问题(Milvus 的某些依赖用 pip 装容易报错,用 conda 很稳)。 -
支持多环境隔离(
conda create -n myenv python=3.9)。
-
查看电脑的python环境
我们可以使用where python来查看电脑的python环境
你的电脑里有“三套”Python,造成了混乱:
主力军 (✅ 可用):H:\myMinAnconda\python.exe
H:\mypythoncode>where python ====》 H:\myMinAnconda\python.exe H:\myPython3.10\python.exe C:\Users\xxx\AppData\Local\Microsoft\WindowsApps\python.exe
其中主力军是Anaconda 发行的 Python
python.exe 报“拒绝访问”
问题:在安装好milvus之后,我使用一个测试脚本测试运行;发现使用python命令被拒绝访问;
===》
1、原因:
在 Windows 上,Anaconda 的 Python 有两个执行文件:
python.exe:控制台模式。运行时必须弹出一个黑色的 CMD 窗口。某些安全软件(如企业版杀毒软件、Windows Defender 的特定规则)或组策略会拦截控制台程序的动态执行,尤其是当它试图加载网络库(如 pymilvus 连接数据库)时,容易被误判为“可疑脚本行为”从而报“拒绝访问”。
pythonw.exe:窗口模式 (Windowless)。专为运行 GUI 程序或后台脚本设计,不弹出黑窗口。它的执行权限模型与 python.exe 不同,往往能绕过针对控制台程序的某些安全拦截。
结论:电脑的安全策略限制了 python.exe 的直接调用,但放行了 pythonw.exe。
如果你只是运行脚本看结果(或者把结果写入文件/日志),直接用
pythonw.exe即可。
缺点:它不会在黑窗口显示
适用场景:定时任务、后台服务、或者像刚才那样写入
log.txt查看结果。H:\myMinAnconda\pythonw.exe -c "from pymilvus import connections, utility; f=open('result.txt','w'); f.write(str(utility.list_collections())); f.close()"
2、学习建议:
1)日常运行脚本:继续使用 H:\myMinAnconda\pythonw.exe 你的脚本.py。
2)IDE 开发:强烈建议使用 VS Code,在设置里指定解释器路径为 H:\myMinAnconda\python.exe。IDE 内部调用 Python 的机制通常能绕过这种直接 CMD 调用的权限限制,我们能正常看到 print 输出。
云托管版”的 Milvus
1、这里有篇公众号(阿里云大数据ai平台)讲了云托管版”的 Milvus 。
https://mp.weixin.qq.com/s/EyAscW1mE2DudXUzJv7DNg
这是阿里云提供的 全托管服务 (SaaS)。你不需要自己买服务器、装 Docker、配网络、管运维。
2、云托管vs Standalone
1)你自己装的 (Standalone):是在你自己的电脑(或云服务器)上跑 Docker 容器,你需要负责开关机、内存不足报错、磁盘满了清理等所有运维工作。
from pymilvus import connections
# 连接本地 localhost
connections.connect(
host="localhost",
port="19530"
)
2)阿里云单机版:是你在阿里云网页上点一下“购买”,几分钟后它给你一个 IP 地址和账号密码。底层的 Docker、Linux、Milvus 进程都由阿里云帮你跑,你只管用。
from pymilvus import connections
# 连接阿里云提供的公网地址
connections.connect(
host="vp-xxxxx.milvus.cn-shanghai.aliyuncs.com", # 阿里云给你的域名
port="19530", # 通常也是 19530
user="root", # 阿里云会给你初始账号
password="your_password" # 阿里云会给你初始密码
# 甚至可能需要在 token 里填入 Access Key
)
3、建议:
如果想要公网访问(不局限于本地,任何地方都能连。)且简化安装部署:(网页点“购买”,3 分钟自动创建完成。)就可以考虑阿里云 Milvus 单机版 (托管模式)
但是要付费 (约 628 元/月起)。
总结:
1、本文介绍了Milvus的定义(一款开源的向量数据库),模式(单机版standalone,分布式集群版Cluster,轻量版Milvus lite云托管版Zilliz Cloud)的适用场景和特点。
2、又介绍了再win上安装 Docker Desktop 和 Milvus的步骤。
3、然后分享在win上安装python的两种方式(广泛安装包和Anaconda/Minconda)
4、并抛出 python.exe 报“拒绝访问” 的问题,分析了原因,介绍了Anaconda 的 Python 在win上的两个执行文件(python.exe和pythonw.exe)的区别;并针对这个问题给出了日常使用的建议(脚本用pythonw.exe ,ide中指定解释器路径也可解决问题)
5、最后通过一篇公众号引出了阿里云提供的云托管版”的 Milvus ;横向对比了其与 Standalone的连接方式;和使用选择的建议。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)