一、Milvus
Milvus 是一个开源的、云原生的向量数据库,专为处理海量、高维的向量数据(即"嵌入向量")而设计,以实现高性能的相似性搜索。
核心特性与优势
-
远超"向量搜索库"的完整数据库 :不同于 FAISS 等仅提供内存中近似搜索(ANN)的库,Milvus 是一个完整的数据库系统。它提供了数据的持久化存储 、元数据管理 、数据增删改查(CRUD) 等完整功能。
-
高性能:官方数据显示,在大多数情况下,Milvus 的性能是其他向量数据库的 2-5 倍。其高性能源于:
-
硬件感知优化:针对 AVX512、SIMD、GPU 和 NVMe SSD 等多种硬件进行了深度优化。
-
先进搜索算法:集成了 IVF、HNSW、DiskANN 等顶尖搜索算法,并进行了深度优化。
-
核心引擎用 C++ 编写 ,并采用列式存储设计,极大提升了数据读取和向量化操作的效率。
-
-
高可扩展性 :Milvus 采用存储与计算分离 的云原生架构,各组件可独立、水平扩展。它能稳定支持百亿级的向量规模,服务于 Salesforce、eBay、NVIDIA 等众多大型企业。
-
混合查询能力:Milvus 不仅支持向量搜索,还能同时处理标量数据(如数字、字符、JSON),允许进行"向量相似性 + 标量属性过滤"的混合查询。
二、安装
在管理员模式下右击并选择以管理员身份运行,打开 Docker Desktop。
下载安装脚本并将其保存为standalone.bat 。
bash
C:\>Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat
如图所示:

运行下载的脚本,将 Milvus 作为 Docker 容器启动。
bash
.\standalone.bat start

显示successful说明成功了。
服务已启动:

运行安装脚本后:
- 名为Milvus-standalone 的 docker 容器已在19530 端口启动。
- 嵌入式 etcd 与 Milvus 安装在同一个容器中,服务端口为2379。其配置文件被映射到当前文件夹中的embedEtcd.yaml。
- Milvus 数据卷映射到当前文件夹中的volumes/milvus。
可以使用以下命令管理 Milvus 容器和存储的数据。
bash
# Stop Milvus
C:\>standalone.bat stop
Stop successfully.
# Delete Milvus container
C:\>standalone.bat delete
Delete Milvus container successfully. # Container has been removed.
Delete successfully. # Data has been removed.