Milvus向量数据库部署
- 创业
- 2025-09-14 20:12:01

一、什么是Milvus
Milvus 是一款开源的向量数据库,旨在帮助开发者轻松管理和检索大规模向量数据。它通过高效的索引技术,支持快速的相似度搜索,使得从海量数据中查找最接近的匹配变得简单而快捷。无论是构建推荐系统、进行图像识别还是分析自然语言,Milvus都能提供强大的支持。
这里我们将在macos环境下基于Docker安装Milvus的单机版本。
二、Milvus安装官方下载文档
这里我们跳过Docker的安装,直接开始Milvus的安装
官方为我们提供很多中安装方式,这里我选择Docker Compose。下载的docker-compose.yml文件内容为:
version: '3.5' services: etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.5.18 environment: - ETCD_AUTO_COMPACTION_MODE=revision - ETCD_AUTO_COMPACTION_RETENTION=1000 - ETCD_QUOTA_BACKEND_BYTES=4294967296 - ETCD_SNAPSHOT_COUNT=50000 command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd healthcheck: test: ["CMD", "etcdctl", "endpoint", "health"] interval: 30s timeout: 20s retries: 3 minio: container_name: milvus-minio image: minio/minio:RELEASE.2023-03-20T20-16-18Z environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin ports: - "9001:9001" - "9000:9000" command: minio server /minio_data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 standalone: container_name: milvus-standalone image: milvusdb/milvus:v2.5.5 command: ["milvus", "run", "standalone"] security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] interval: 30s start_period: 90s timeout: 20s retries: 3 ports: - "19530:19530" - "9091:9091" depends_on: - "etcd" - "minio" networks: default: name: milvus这里出于演示,我取消了挂载。最终运行
docker-compose up -d运行成功后一共三个容器:milvus-etcd、milvus-minio、milvus-standalone
三、组件分析 1、etcdetcd 是一个分布式的键值存储系统,主要用于配置共享和服务发现。在 Milvus 环境中,它主要用于存储元数据(如集合信息、索引配置等)。这使得 Milvus 能够有效地管理其内部状态,并支持集群模式下的协调工作。可以简单的理解为是字典的目录,可以可靠的访问机制。
2、minioMinIO 是一款高性能的分布式对象存储系统,在 Milvus 架构中,MinIO 作为持久化存储层,用于保存原始向量数据、索引文件以及其他需要长期存储的信息。通俗来说就是数据持久化。并且本身就有可视化的管理页面,访问9001端口即可访问,账户密码都是minioadmin。登录后可以查看并管理存储的数据信息。
3、milvus这就是实际执行向量相似度搜索的核心服务。Milvus 实例集成了所有必要的组件,允许用户在其上构建基于向量的智能应用。通过该实例,你可以进行向量数据插入、查询以及索引创建等多种操作。后面我们会通过python去连接这个向量数据库。
四、可视化milvus不同于MySQL、Redis等可通过像Navicat等客户端连接进行可视化的操作。这里我们使用Attu对milvus进行可视化管理。具体介绍和安装可以看官网说明。
Attu官方
version: '3.5' services: attu: container_name: milvus-attu image: zilliz/attu:v2.4 environment: MILVUS_URL: milvus:19530 ports: - "7000:3000" depends_on: - "milvus" networks: - default networks: default: name: milvus_network使用Docker Compose运行成功后访问localhost:7000
docker-compose up -d这里没有设置密码,可以直接点击连接进入,实际场景下是需要设置密码的
这样我们就可以可视化的管理我们的向量数据库了。
五、Python操作首先我们在attu中创建一个数据库来用于测试。
from pymilvus import MilvusClient client = MilvusClient(url="http://localhost:19530", db_name="programming") print(f"角色列表为:{client.list_roles()}") print(f"用户列表为:{client.list_users()}") client.create_user(user_name="test", password="123456") client.create_role(role_name="test_role") print(f"角色列表为:{client.list_roles()}") print(f"用户列表为:{client.list_users()}")可以看到正常连接到了向量数据库并且用户和角色都已经创建成功。
Milvus向量数据库部署由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Milvus向量数据库部署”
 
               
               
               
               
               
               
               
   
   
   
   
   
   
   
   
   
   
   
  