Milvus 架构概述
Milvus 构建在 Faiss、HNSW、DiskANN、SCANN 等流行的向量搜索库之上,专为在包含数百万、数十亿甚至数万亿向量的密集向量数据集上进行相似性搜索而设计。在继续之前,请先熟悉一下 Embeddings 检索的基本原理。
Milvus 还支持数据分片、流式数据摄取、动态 Schema、结合向量和标量数据的搜索、多向量和混合搜索、稀疏向量和其他许多高级功能。该平台可按需提供性能,并可进行优化,以适应任何嵌入式检索场景。我们建议使用 Kubernetes 部署 Milvus,以获得最佳的可用性和弹性。
Milvus 采用共享存储架构,其计算节点具有存储和计算分解及横向扩展能力。按照数据平面和控制平面分解的原则,Milvus 由四层组成:访问层、协调器服务、工作节点和存储。这些层在扩展或灾难恢复时相互独立。
架构图
根据该图,接口可分为以下几类:
- DDL / DCL:createCollection / createPartition / dropCollection / dropPartition / hasCollection / hasPartition
- DML / Produce:插入 / 删除 / 上移
- DQL:搜索/查询