Appearance
Milvus 简介
什么是 Milvus
Milvus 是一个开源的向量数据库,专门用于存储、索引和管理大规模的向量数据。它由 Zilliz 公司开发并维护,旨在为机器学习应用提供高效的向量相似度搜索能力。
核心特性
高性能向量搜索
- 支持十亿级向量数据的毫秒级检索
- 采用多种先进的近似最近邻(ANN)算法
- GPU 加速支持,进一步提升搜索性能
灵活的索引类型
- FLAT: 精确搜索,适用于小规模数据集
- IVF_FLAT: 基于倒排文件的向量索引
- IVF_SQ8: 量化压缩,节省存储空间
- IVF_PQ: 乘积量化,平衡速度和精度
- HNSW: 基于图的索引,高速搜索
- ANNOY: 树形索引结构
- DISKANN: 磁盘上的高效索引
多语言 SDK 支持
- Python SDK(最常用)
- Java SDK
- Go SDK
- Node.js SDK
- C++ SDK
云原生架构
- 支持 Kubernetes 部署
- 分布式架构,水平扩展
- 高可用性设计
应用场景
图像搜索
- 以图搜图
- 相似图片推荐
- 图片去重
自然语言处理
- 语义搜索
- 问答系统
- 文本相似度匹配
推荐系统
- 个性化推荐
- 相似商品推荐
- 用户画像匹配
生物信息学
- DNA 序列比对
- 蛋白质结构搜索
- 药物分子筛选
音频处理
- 音乐识别
- 语音相似度匹配
- 音频指纹
Milvus 架构概览
┌─────────────────────────────────────────────────────────────┐
│ 应用层 │
│ (Python/Java/Go/Node.js SDK) │
└───────────────────────┬─────────────────────────────────────┘
│
┌───────────────────────▼─────────────────────────────────────┐
│ Proxy 层 │
│ (负载均衡、请求路由、结果聚合) │
└───────────────────────┬─────────────────────────────────────┘
│
┌───────────────────────▼─────────────────────────────────────┐
│ 协调服务层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Root Coord │ │ Data Coord │ │ Query Coord │ │
│ │ (元数据管理) │ │ (数据管理) │ │ (查询协调) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Index Coord │ │ Data Node │ │
│ │ (索引管理) │ │ (数据节点) │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────────────▼─────────────────────────────────────┐
│ 存储层 │
│ (对象存储 / 分布式文件系统) │
└─────────────────────────────────────────────────────────────┘核心概念
Collection(集合)
类似于关系型数据库中的表,用于存储向量数据及其元数据。
Entity(实体)
集合中的一条记录,包含向量字段和标量字段。
Field(字段)
实体的属性,可以是向量字段(如特征向量)或标量字段(如标签、描述)。
Partition(分区)
集合的逻辑分区,用于数据管理和查询优化。
Index(索引)
用于加速向量搜索的数据结构。
版本说明
Milvus 目前主要维护两个版本:
- Milvus 2.x: 最新版本,采用云原生分布式架构
- Milvus 1.x: 单机版本,已逐渐停止维护
本教程基于 Milvus 2.x 版本,使用 Python SDK 进行讲解。
学习路径
- 基础入门: 环境搭建、基本概念、Python SDK 连接
- 核心操作: 创建集合、插入数据、向量搜索
- 进阶功能: 索引管理、分区、数据过滤
- 高级应用: 性能优化、集群部署、实际案例
相关资源
- Milvus 官方文档
- Milvus GitHub 仓库
- Milvus Bootcamp
- Zilliz Cloud - Milvus 托管服务