背景:目前milvsu版本迭代至2.0,已经可以支持直接在docker环境下运行
目录
一、Milvus的基本情况
什么是 Milvus 向量数据库?
Milvus 于 2019 年开源,致力于存储、索引和管理由深度神经网络学习与其他机器学习模型生成的海量 Embedding 向量。
Milvus 向量数据库专为向量查询与检索设计,能够为万亿级向量数据建立索引。与现有的主要用作处理结构化数据的关系型数据库不同,Milvus 在底层设计上就是为了处理由各种非结构化数据转换而来的 Embedding 向量而生。
随着互联网不断发展,电子邮件、论文、物联网传感数据、社交媒体照片、蛋白质分子结构等非结构化数据已经变得越来越普遍。如果想要使用计算机来处理这些数据,需要使用 embedding 技术将这些数据转化为向量。随后,Milvus 会存储这些向量,并为其建立索引。Milvus 能够根据两个向量之间的距离来分析他们的相关性。如果两个向量十分相似,这说明向量所代表的源数据也十分相似。
非结构化数据
非结构化数据指的是数据结构不规则,没有统一的预定义数据模型,不方便用数据库二维逻辑表来表现的数据。非结构化数据包括图片、视频、音频、自然语言等,占所有数据总量的 80%。非结构化数据的处理可以通过各种人工智能(AI)或机器学习(ML)模型转化为向量数据进行。
特征向量
向量又称为 embedding vector,是指由 embedding 技术从离散变量(如图片、视频、音频、自然语言等等各种非结构化数据)转变而来的连续向量。在数学表示上,向量是一个由浮点数或者二值型数据组成的 n 维数组。通过现代的向量转化技术,比如各种人工智能(AI)或者机器学习(ML)模型,可以将非结构化数据抽象为 n 维特征向量空间的向量。这样就可以采用最近邻算法(ANN)计算非结构化数据之间的相似度。
向量相似度检索
相似度检索是指将目标对象与数据库中数据进行比对,并召回最相似的结果。同理,向量相似度检索返回的是最相似的向量数据。近似最近邻搜索(ANN)算法能够计算向量之间的距离,从而提升向量相似度检索的速度。如果两条向量十分相似,这就意味着他们所代表的源数据也十分相似。
为什么选择使用 Milvus?
- 高性能:性能高超,可对海量数据集进行向量相似度检索。
- 高可用、高可靠:Milvus 支持在云上扩展,其容灾能力能够保证服务高可用。
- 混合查询:Milvus 支持在向量相似度检索过程中进行标量字段过滤,实现混合查询。
- 开发者友好:支持多语言、多工具的 Milvus 生态系统。
二、Milvus的下载安装
安装前提
在安装 Milvus 之前,请检查你的硬件和软件是否满足要求。
使用 Docker Compose 安装使用 Kubernetes 安装
硬件要求
硬件 | 要求 | 建议配置 | 说明 |
---|---|---|---|
CPU | Intel CPU Sandy Bridge 或以上 |
|
当前版本的 Milvus 不支持 AMD 和 Apple M1 CPU。 |
CPU 指令集 |
|
|
Milvus 中的向量相似度搜索和索引构建需要 CPU 支持单指令多数据 (SIMD) 扩展集。 请确保 CPU 至少支持一个列出的 SIMD 扩展集。 有关更多信息,请参阅 CPUs with AVX。 |
RAM |
|
|
RAM 的大小取决于数据量。 |
硬盘 | SATA 3.0 SSD 或以上 | SATA 3.0 SSD 或以上 | 硬盘的大小取决于数据量。 |
软件要求
操作系统 | 软件 | 说明 |
---|---|---|
macOS 10.14 或以上 | Docker 桌面版 | Docker 虚拟机 (VM) 运行配置至少 2 个虚拟 CPU (vCPU) 和 8 GB 初始内存。否则,安装可能会失败。 有关更多信息,请参阅 Install Docker Desktop on Mac。 |
Linux 发行版 |
|
有关更多信息,请参阅 Install Docker Engine 和 Install Docker Compose。 |
启用 WSL 2 的 Windows | Docker 桌面版 | 我们建议你将源代码和其他数据绑定存储到 Linux 文件系统中的 Linux 容器中,而不是 Windows 文件系统。 有关更多信息,请参阅 Install Docker Desktop on Windows with WSL 2 backend。 |
软件 | 版本 |
---|---|
etcd | 3.5.0 |
MinIO | RELEASE.2020-11-06T23-17-07Z |
Pulsar | 2.8.2 |
本文主要介绍其中的Docker 桌面版客户端的安装下载及遇到的相关问题
目前docker桌面版已经更新到4.90,但建议不要使用最新版,本机使用的docker桌面版4.4.4。
docker桌面版历史下载清单【