简介
Milvus是一个专门设计用于处理输入向量查询的数据库,它于2019年创建,目标是存储、索引和管理由深度神经网络和其他机器学习模型生成的大规模嵌入向量。Milvus具有强大的向量相似度检索功能,可以在万亿级别的数据集中快速找到与给定向量最相似的向量。
在Milvus中,数据库是组织和管理数据的逻辑单元。为了提高数据安全性并实现多租户,你可以创建多个数据库,为不同的应用程序或租户从逻辑上隔离数据。例如,创建一个数据库用于存储用户A的数据,另一个数据库用于存储用户B的数据。与关系型数据库中所说的数据库一个概念。
Collections
在Milvus 中,Collection 可以比作关系存储系统中的表。Collections 是Milvus 中最大的数据单元,在Milvus中,所有数据都是按Collections (集合)、shard(分片)、partition (分区),segment(数据片段)和entity(数据实体,一行数据就是一个实体)组织的。

image.png
Schema
Schema定义了Collections 的数据结构。在创建一个Collection之前,你需要设计出它的Schema,定义如何组织Collection中的数据。
Milvus Schema必须包含的3类字段,一个Schema固定由这几部分组成:
① 主键字段(必须有,且只能1个)
- 唯一标识一条数据
- like MySQL 的 id
- 类型:int/varchar
② 向量字段(必须有,最多4个)
- 存向量embedding(比如文章、图片、音频转成的向量)
- 这是Milvus最核心的字段,用来做相似度检索
③ 标量字段(可选,任意多个)
- 存普通数据:文本、数字、布尔、
- JSON用来过滤、筛选(比如:分类、时间、作者、状态)