本文来源公众号“Coggle数据科学”,仅用于学术分享,侵权删,干货满满。
什么是Milvus?
Milvus 是一款高性能、高扩展性的开源向量数据库,专为处理海量向量数据的实时召回而设计。它基于 FAISS、Annoy、HNSW 等向量搜索库构建,核心功能是解决稠密向量相似度检索的问题。Milvus 不仅支持基本的向量检索,还提供数据分区分片、数据持久化、增量数据摄取、标量向量混合查询、time travel 等功能,同时优化了向量检索的性能,以满足各种向量检索场景的应用需求。
Milvus 的架构设计采用了云原生技术,支持存储与计算分离,使得计算节点可以横向扩展。它由四个层次组成:接入层(Access Layer)、协调服务(Coordinator Service)、执行节点(Worker Node)和存储服务(Storage)。这种分层设计使得各个组件相互独立,可以独立扩展和容灾,从而提高了系统的弹性和灵活性。
Milvus 支持多种部署模式,包括轻量级的 Milvus Lite、单机服务器部署的 Milvus Standalone,以及可部署在 Kubernetes 集群上的 Milvus Distributed。这些部署模式使得 Milvus 能够适应不同规模的数据和应用场景。
Milvus基础使用
在 Milvus 中,定义集合(Collection)的模式(Schema)是一个重要的步骤,因为它决定了如何存储和检索数据。根据您的描述,您想要创建一个集合,其中主键(Primary Key)和向量字段(Vector Field)使用默认名称("id" 和 "vector"),并且使用余弦相似度(COSINE)作为度量类型(Metric Type)。
-
导入环境
from pymilvus import Milvu