Milvus是一款云原生向量数据库,具备高可用、高性能、易拓展的特点,主要用于海量向量数据的实时召回。以下是Milvus的一些核心功能和特点:
-
高性能向量检索:Milvus基于FAISS、Annoy、HNSW等向量搜索库构建,核心功能是解决稠密向量相似度检索的问题。它支持数据分区分片、数据持久化、增量数据摄取、标量向量混合查询、time travel等功能,并大幅优化了向量检索的性能,以满足各种向量检索场景的应用需求。
-
存储计算分离:Milvus采用共享存储架构,存储和计算完全分离,计算节点支持横向扩展。这种架构使得Milvus的数据流和控制流分离,整体分为接入层、协调服务、执行节点和存储层四个层次,各个层次相互独立,可以独立扩展和容灾。
-
多种搜索功能:Milvus支持包括ANN搜索、过滤搜索、范围搜索、混合搜索、关键词搜索等多种类型的搜索功能,以满足不同用例的需求。
-
开发者友好:Milvus提供了RESTful API、PyMilvus(Python SDK)、Go SDK、Java SDK、Node.js(JavaScript)SDK等多种语言的SDK,支持多语言、多工具的生态系统。
-
应用场景广泛:Milvus可以应用于图片检索系统、视频检索系统、音频检索、分子结构检索、推荐系统、智能问答机器人、DNA序列分类系统和文本搜索引擎等多种场景。
-
支持多种数据类型和距离度量:Milvus支持稀疏向量、二进制向量、JSON、数组支持和多种距离度量,以及一系列可调整的索引和搜索算法。
Milvus以其高性能、易用性和兼容性,在处理海量非结构化数据时具有显著优势,尤其适合需要进行向量相似度检索的场景。