文章目录
01 Milvus向量数据库简介
Milvus是一款开源的向量数据库,它专为AI应用设计,用于管理和检索海量的特征向量。Milvus的优势主要包括:
-
高效的向量检索性能:Milvus采用了多种先进的索引算法,如IVF, HNSW, ANNOY等,能够在大规模数据集上实现高效的近似最近邻搜索。
-
易于扩展和维护:Milvus支持水平和垂直扩展,能够适应不断增长的数据规模和查询需求。它的分布式架构使得数据存储和计算能力可以灵活扩展。
-
多种数据持久化选项:Milvus支持SSD, HDD等多种存储介质,并且可以与多种持久化存储解决方案集成,如MinIO, S3等。
-
丰富的数据接口:Milvus提供了Python, Java, RESTful等多种语言的SDK,方便开发者在不同的应用场景中使用。
-
强大的可扩展性和兼容性:支持各种大小和类型的向量数据,可以与现有的数据处理和机器学习工作流程无缝集成。
-
容器化和云原生支持:支持Docker和Kubernetes,方便在云环境中部署和管理。
-
开源社区支持:作为一个开源项目,Milvus拥有活跃的社区,不断有新的功能和改进被加入。
Milvus适用于各种需要高效向量检索的应用场景,如推荐系统、图像检索、自然语言处理等。由于其高效、易用和可扩展的特性,Milvus在AI应用开发中越来越受欢迎。
02 安装前的准备
确保已经安装了docker和docker-compose
要求系统至少有8G的内存(但我实际是4G内存也没有任何问题)
参考官方文档的信息:https://milvus.io/docs/prerequisite-docker.md
03 安装
3.1 创建milvus工作目录
下面正式开始安装,在Linux系统上新建一个工作目录,以root目录为例:
# 切换到root目录
cd /root
# 新建一个名为milvus的目录用于存放数据 目录名称可以自定义
mkdir milvus
# 进入到新建的目录
cd milvus
3.2 下载并编辑docker-compose.yml
在下载最新的docker-compose.yml文件前,可以先进入到Github项目主页查看最新版本的milvus:
https://github.com/milvus-io/milvus/releases
下载安装文件,注意这里的路径版本是v2.3.5
,根据自己实际情况选择CPU和GPU版本,不清楚的话就选CPU版本。
# CPU单机版
wget https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose.yml -O docker-compose.yml
# GPU单机版
wget https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml
这部分参考官方文档:https://milvus.io/docs/install_standalone-docker.md
下载完成后编辑docker-compose.yml文件,在其中添加attu可视化面板的容器
attu的最新版本参阅官方release页面:https://github.com/zilliztech/attu/releases
version: '3'
services:
etcd:
...(略)
minio:
...(略)
standalone:
...(略)
# 在原docker-compose文件的这个位置添加下面这个attu容器,注意版本号和行前空格。
attu:
container_name: attu
image: zilliz/attu:v2.3.6
environment:
MILVUS_URL: milvus-standalone:19530
ports:
- "8000:3000" # 外部端口8000可以自定义
depends_on:
- "standalone"
# network这部分是原文件就有的,保持不动
networks:
default:
name: milvus
3.3 下载milvus.yml文件
该文件是milvus的配置文件,容器中内置,但如果要修改配置,需要单独下载,这里为了做访问控制,就需要修改配置。
# 注意改成自己对应的milvus版本号
wget https://raw.githubusercontent.com/milvus-io/milvus/v2.3.5/configs/milvus.yaml
下载好后,确保该文件位于milvus工作目录下,然后编辑该文件,找到其中的common > security > authorizationEnabled
并将其设置为true
。
下载后,修改docker-compose.yml做资源映射,在图中的位置:
...
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.3.5
...(略)
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
# 新增下面这一行来实现配置文件的映射
- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
...(略)
...
3.4 启动milvus
# 拉取镜像
docker-compose pull
# 启动容器
docker-compose up -d
# 查看启动状态(健康状态)
docker-compose ps -a
# 停止容器
docker-compose down
放开端口
连接数据库需要放开19530
端口,这是milvus的默认端口,可在docker-compose.yml中修改。
访问可视化面板放开8000
端口(刚才自己设置的)做反向代理的话可以不用放开此端口。
04 访问可视化面板并修改密码
访问http://ip:8000
,初始账号密码如下图:
进入后修改账号和密码:
这里更新并提交后网页可能会提示异常,是正常现象,此时退出并使用新密码登录即可看到修改成功了。
(完)