milvus安装及其使用教程

本文介绍了Milvus这款开源的向量搜索引擎,对比了它与Faiss的区别,并提供了详细的Docker安装教程,包括常见问题及解决方案。此外,文章还涵盖了Milvus的基本使用和多进程使用场景,适合对向量检索感兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

milvus 简介

milvus是干什么的?通俗的讲,milvus可以让你在海量向量库中快速检索到和目标向量最相似的若干个向量,这里相似度量标准可以是内积或者欧式距离等。借用官方的话说就是:

Milvus 是一款开源的、针对海量特征向量的相似性搜索引擎。基于异构众核计算框架设计,成本更低,性能更好。 在有限的计算资源下,十亿向量搜索仅毫秒响应。

说白了就是速度快,先不说十亿向量,自己写代码去完成对100万300维向量的余弦相似度计算并排序就需要不小的响应时间吧,就本人测试而言,即便使用scipy库计算速度依然要比milvus慢很多。

milvus和Faiss的对比

其实在milvus开源之前,也存在高性能向量相似性搜索引擎(库),这个引擎就是Facebook的Faiss,它的功能和milvus是一样的,所以就不再做过多介绍,具体可以参考官网

就我个人而言,我是推荐使用milvus的,主要是在我个人看来,milvus有如下几个好处:

  • 多平台通用,mac,windows和linux都是支持的,因为milvus可以通过docker部署,因此平台通用性好了不少。
  • 支持编程语言多,Java,c,c++和python都支持,要知道Faiss是不支持java的,这一点简直让人抓狂,github上好几个项目就是关于把Faiss转成java的,因为我Java和python都是要使用的,我把github上关于faiss转java的项目都试了个遍,结论就是非常难安装,只要Faiss版本更新了,必须要重来一遍,即便最后java可以用了,也不敢保证其稳定性。所以想在Java上用Faiss还是放弃吧。
  • 在速度方面,就我自己测试而言,milvus不输Faiss,但是我没有使用GPU测试,有兴趣的小伙伴可以试一下。

当然milvus也有难用的地方,我自己发现了两点,如果是我自己使用不当造成的,还请各位朋友在评论指出:

  • milvus的向量格式不支持numpy,要用列表的形式存储向量,而列表占用内存要远远大于ndarray的,这对于小内存主机简直是个天灾,我16GB内存情况下,把500000*768的矩阵转成list,电脑直接卡死。
  • milvus在第一次search时速度会慢,之后机会快起来了,这应该是个小bug,有人在github提出了,应该很快就可以修复,所以你们在测试milvus的速度时千万别算第一次的时间。

milvus 安装及常见问题

milvus 一共有两种安装方式:自己编译安装和使用docker安装。这里推荐大家使用docker安装,docker安装方便快捷,可在Windows上使用。自己编译安装,由于每个人环境不同,很容易出问题。本文只介绍基于docker的安装,另外因为我比较穷,所以只介绍cpu版本的安装,不过gpu安装也是大同小异。

基于docker安装milvus CPU版本

简言之安装比较简单,毕竟大佬们已经把milvus部署在了docker里,我们只要启动起来就行了

安装docker

首先就是要安装docker,还不了解docker可以了解一波,非常好用的虚拟机工具,直接去官网下载对应平台的安装文件即可。

下载相应版本镜像

<think>好的,用户想查找关于Milvus向量数据库的部署教程。首先我需要回想一下Milvus的相关知识,确保信息准确。根据引用[1],Milvus是专为向量数据设计的数据库,具备高性能、高可用和易扩展的特点,常用于处理大规模嵌入向量。部署教程可能需要涵盖不同环境下的安装步骤,比如Docker、Kubernetes,或者源码编译。 用户的需求明确是部署教程,所以需要分步骤说明。首先应该提到官方文档的重要性,因为这是最权威的来源。然后可能需要介绍几种常见的部署方式,比如使用Docker Compose快速部署,这是比较常见且简便的方法。接着可以提到生产环境可能需要更复杂的配置,比如分布式集群部署或者Kubernetes的Helm chart部署,这些能确保高可用性和扩展性。 另外,用户可能对系统要求不太清楚,需要列出硬件和软件的先决条件,比如CPU、内存、存储,以及依赖的软件如Docker、Python SDK等。可能还需要注意事项,比如端口开放、配置文件调整等常见问题。 需要确保步骤清晰,避免使用专业术语过多,但又要足够详细。同时,考虑到用户可能遇到的问题,可以提前给出一些常见问题的解决方法,比如如何检查服务是否正常启动,或者如何验证安装是否成功。 最后,生成相关问题时要围绕部署可能涉及的方面,比如安装方式选择、系统要求、验证步骤以及常见问题处理。这样用户如果有进一步的问题,可以自行参考这些问题或者继续提问。</think>关于Milvus向量数据库的部署教程,以下是分步骤说明: ### 一、部署准备 1. **系统要求** - 操作系统:Linux(推荐Ubuntu 18.04+或CentOS 7+) - 硬件配置:至少4核CPU、8GB内存、50GB存储(具体需求根据数据规模调整) - 依赖组件:Docker、Docker Compose(适用于单机部署)[^1] 2. **环境检查** 运行以下命令确认环境就绪: ```bash docker --version docker-compose --version ``` ### 二、单机部署(快速入门) 1. **下载配置文件** 从GitHub获取官方`docker-compose.yml`: ```bash wget https://github.com/milvus-io/milvus/releases/download/v2.3.3/milvus-standalone-docker-compose.yml -O docker-compose.yml ``` 2. **启动服务** 执行命令启动Milvus及其依赖组件(如etcd、MinIO): ```bash docker-compose up -d ``` 3. **验证部署** 检查容器状态: ```bash docker ps | grep milvus ``` 输出应包含`milvus-standalone`、`etcd`和`minio`的运行实例。 ### 三、生产环境部署 1. **分布式集群模式** - 修改`docker-compose.yml`,扩展节点并配置网络 - 启用负载均衡与持久化存储(如NFS或云存储)[^1] 2. **Kubernetes部署** 使用Helm Chart快速部署: ```bash helm repo add milvus https://milvus-io.github.io/milvus-helm/ helm install my-milvus milvus/milvus ``` ### 四、配置调优 1. **关键参数** 在`milvus.yaml`中调整: ```yaml cache: cache_size: 4GB # 根据内存调整 ``` 2. **端口配置** 默认端口`19530`(SDK通信)和`9091`(监控)需确保开放。 ### 五、验证功能 通过Python SDK测试连接: ```python from pymilvus import connections, Collection connections.connect("default", host="localhost", port="19530") print(connections.list_connections()) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值