想要体验世界上最快的向量数据库?缺少专业的工程师团队作为支撑?Milvus 安装环境受限?
别担心,轻量版 Milvus 来啦!
在正式介绍 Milvus Lite 之前,先简单回顾一下 Milvus。Milvus 是一款开源的向量数据库,专门用于索引、存储以及查询那些由深度神经网络和其他机器学习(ML)模型生成的向量,支持十亿级别的数据规模,已成为许多公司、研究人员和开发者处理大规模数据集相似性搜索的首选工具。
不过,也有用户反馈刚开始接触 Milvus 或者想要在 Notebook 中进行快速实验时,安装或部署 Milvus 有些力不从心 。为此,Milvus 社区的 Committer 嵇斌开发出 Milvus Lite,即 Milvus 的轻量级版本,方便有相关需求的用户进行体验。可以这样理解,Milvus Lite 为没有专业运维团队支撑、安装部署环境受限的群体提供了新的可能。
(https://github.com/milvus-io/milvus-lite)
01.
Milvus Lite 的优势
作为 Milvus 的轻量级版本,Milvus Lite 有不少优势,例如:
- 可以轻松将 Milvus Lite 集成到 Python 应用程序中,不需要任何其他依赖项;
- 可以作为 library 导入到其他 Python 程序中,并使用命令行接口(CLI);
- 与 Google Colab 和 Jupyter Notebook 的集成变得更容易;
- 安全迁移,应用程序代码和数据都可以丝滑地迁移到 Milvus集群或 Zilliz Cloud中。
02.
Milvus Lite 的适配场景
Milvus Lite 的典型使用场景:
- 用户在使用 Milvus 的过程中不方便使用 K8s、容器等技术工具(例如 Milvus Operator,Helm 或 Docker Compose)时;
- 想要将 Milvus 的功能集成到 Python 应用程序中;
- 想在 Colab 或 Notebook 中进行快速实验时迅速启动 Milvus 实例。
03.
如何安装、部署和使用 Milvus Lite?
- 准备工作
在正式安装 Milvus Lite 以前,需要做足以下准备:
- 安装 Python 3.7 或更高版本。
- 使用下述任何一个经过验证的操作系统:Ubuntu >= 20.04 (x86_64);CentOS >= 7.0 (x86_64);MacOS >= 11.0 (Apple Silicon)
值得注意的是,Milvus Lite 用 manylinux2014
作为基础镜像,以便与 Linux 用户的大多数发行版兼容。
- 安装 Milvus Lite
- Milvus Lite 可以在 PyPI 中下载安装,我们可以通过
pip
进行安装。
$ python3 -m pip install milvus
- 或者大家也可以通过 PyMilvus 进行安装,具体操作如下:
$ python3 -m pip install milvus[client]
- 使用并启动 Milvus Lite
从我们的项目库的示例文件夹中下载示例代码(https://github.com/milvus-io/milvus-lite/tree/main/examples)。有两种方式可以使用 Milvus Lite:将其作为 Python 库导入或用 CLI 在机器上将它作为独立服务器运行。
- 将 Milvus Lite 作为 Python 模块启动,执行以下命令:
from milvus import default_server
from pymilvus import connections, utility
# Start your milvus server
default_server.start()
# Now you can connect with localhost and the given port
# Port is defined by default_server.listen_port
connections.connect(host='127.0.0.1', port=default_server.listen_port)
# Check if the server is ready.
print(utility.get_server_version())
# Stop your milvus server
default_server.stop()
大家也可以将 server 实例,放在 with
语句的上下文中,以实现自动启停:
from milvus import default_server
with default_server:
# Milvus Lite has already started, use default_server here.
connections.connect(host='127.0.0.1', port=default_server.listen_port)
- 通过 CLI 来启动 Milvus Lite,执行以下命令:
milvus-server
启动 Milvus Lite 后,大家就可以使用 PyMilvus 或自己顺手的工具来连接独立服务器了。
- 用调试模式启动 Milvus Lite
- 将 Milvus Lite 作为 Python 模块以调试模式运行,执行以下命令:
from milvus import debug_server, MilvusServer
debug_server.run()
# Or you can create a MilvusServer by yourself
# server = MilvusServer(debug=True)
- 在调试模式下运行 Milvus Lite,请执行以下命令:
milvus-server --debug
- 持久化数据和日志
- 执行以下命令创建一个本地目录,用于存储所有相关的 Milvus Lite 数据和日志:
from milvus import default_server
with default_server:
default_server.set_base_dir('milvus_data')
- 为了将 Milvus Lite 生成的所有数据和日志保存在本地磁盘上,执行以下命令:
$ milvus-server --data milvus_data
- 配置 Milvus Lite
配置 Milvus Lite 与使用 Python API 或 CLI 设置 Milvus 的实例相似。
- 用 Python API 配置 Milvus Lite ,可以使用
MilvusServer
实例的config.set
来设置基本和额外的设置:
from milvus import default_server
with default_server:
default_server.config.set('system_Log_level', 'info')
default_server.config.set('proxy_port', 19531)
default_server.config.set('dataCoord.segment.maxSize', 1024)
- 用 CLI 配置 Milvus Lite,运行以下命令进行基本设置:
$ milvus-server --system-log-level info
$ milvus-server --proxy-port 19531
- 或者,运行以下命令以进行额外配置:
代码语言:javascript复制$ milvus-server --extra-config dataCoord.segment.maxSize=1024
所有配置参数都在 Milvus 工具包中附带的 config.yaml
模板中。想了解更多关于安装和配置 Milvus Lite 的技术细节,可以复制链接或点击【阅读原文】查看https://milvus.io/docs/milvus_lite.md#Prerequisites。
04.
总结
总体而言,无论用户是何种身份(研究人员、开发者或者数据科学家),Milvus Lite 都是一个不错的选择,尤其对于那些想要在受限的环境中使用 Milvus 功能的用户而言,更是如此。
Milvus Lite 是开源社区或者说开源文化下的产物,背后折射出的是开发者们对于开源的热爱。在此,我们尤其要感谢 Milvus 社区 Committer 嵇斌,没有他就没有 Milvus Lite!我们也期待有更多开发者参与进来,和我们一起探讨 Milvus 的未来,在这个极具创新性与发展性的集市模式的加持下,Milvus 一定会变得越来越好,从而更好地满足用户的需求。
最后,如果大家在安装或使用 Milvus Lite 时遇到问题,可以复制链接提交问题,https://github.com/login?return_to=https://github.com/milvus-io/milvus-lite/issues/new