有勇气的牛排博客

Milvus向量数据库介绍、安装与配置


Milvus 安装与配置

1 前言

1.1 介绍

Milvus 是一个开源的向量数据库,专门用于处理海量高维向量数据的相似度搜索。它适用于 AI、推荐系统、图像检索、自然语言处理(NLP)等需要处理嵌入向量的场景。

  • 官网:https://milvus.io
  • GitHub:https://github.com/milvus-io/milvus
  • 开发者:Zilliz(中国的数据库初创企业)

1.2 Milvus 的核心功能

功能 说明
向量存储 存储数十亿条高维向量(如图像、文本、音频的嵌入)
向量检索 支持 ANN(近似最近邻)算法,实现高效的相似度搜索
混合查询 支持将向量查询与结构化过滤条件结合(如性别、标签等)
多索引类型 IVF, HNSW, ANNOY, DiskANN 等索引结构可选
分布式架构 支持水平扩展(scale out),适合大规模生产使用
多语言 SDK Python、Java、Go、Node.js、C++ 等
持久化存储 支持将数据持久化在磁盘或对象存储中
插件生态 支持与 Elasticsearch、MySQL、Prometheus、K8s 等集成

1.3 主要技术特点

特点 描述
高性能 每秒可搜索百万级向量,延迟低于毫秒级
支持 GPU 可选用 GPU 加速训练和检索
插件式索引管理 可针对不同应用场景切换索引结构
自动分片 + 副本 提高并发能力和容错能力
向量类型支持 支持 float32、binary、float16、sparse 向量(计划中)

1.4 典型使用场景

场景 示例
图像检索 上传图片找相似商品、图像搜索
文本语义搜索 通过用户输入的自然语言搜索相似文本、文档
推荐系统 利用用户行为嵌入向量实现相似用户或物品推荐
生物信息学 比对 DNA 或蛋白质序列的向量表示
知识图谱 实体向量存储和相似度搜索

1.5 环境要求

在安装 Milvus 之前,确保系统满足以下要求:

  • 操作系统:Ubuntu 18.04+/CentOS 7+/MacOS/Docker
  • CPU:支持 AVX2 指令集的 x86_64 处理器
  • RAM:建议至少 8GB
  • GPU(可选):NVIDIA GPU + CUDA 11.1 以上(仅用于 GPU 版本)
  • Docker:建议安装 Docker 20.10+

2 安装

2.1 使用 Docker 安装 Milvus

https://milvus.io/docs/zh/install_standalone-docker.md

# Download the installation script $ curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh # 启动容器 bash standalone_embed.sh start # 停止容器 bash standalone_embed.sh stop # 删除容器 bash standalone_embed.sh delete

Milvus容器查看

Milvus容器查看

3 连接工具

https://github.com/zilliztech/attu

image.png

3 配置Milvus

Milvus 主要通过 server_config.yaml 进行配置,该文件位于 /milvus/configs/ 目录下(Docker 版本路径可能不同)。

vim /etc/milvus/config.yaml
server_config: address: 0.0.0.0 port: 19530
service: name: "milvus" port: 19530 storage: path: "/path/to/milvus/data" log: level: "info" max_log_file_size: 1024 log_rotate: true ingester: compaction_level: 1 wal_enable: true insert_buffer_size: 16777216 flush_interval: 1 cpu_cache_capacity: 1073741824 insert_channel_capacity: 100 search_buffer_size: 268435456
  1. 内存配置:根据系统内存大小调整 Milvus 的内存使用限制。
  2. 存储路径:指定 Milvus 数据文件的存储路径。
  3. 监听端口:配置 Milvus 服务监听的端口号。
  4. 日志级别:设置日志记录的详细程度,如 debug、info、warning、error。
  5. 资源限制:根据系统资源配置 CPU 和内存的使用限制。

参考文档:

https://milvus.io/docs/zh/prepare-source-data.md

评论区

×
×