首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Milvus入门到精通:含安装、使用、Attu可视化

Milvus入门到精通:含安装、使用、Attu可视化

原创
作者头像
庆哥哥
发布2026-01-27 22:14:28
发布2026-01-27 22:14:28
1.5K0
举报

项目开源地址

gitee: https://gitee.com/huq01/rent

我用的SpringBoot3.3.0版本,为什么要使用SpringBoot3.x?因为公司是做AI大模型的,用的都是比较前沿的技术,所以后端使用的技术也比较新

好了,废话不多说

1 Milvus简介

  Milvis官方文档:https://milvus.io/docs/zh

1.1 Milvus是什么?

  Milvis是一个具备高性能、高扩展性的的向量数据库(Vector Database),用于存储向量数据

1.2 为什么选择Milvus?

  高性能。按照官方文档描述,其性能是其他向量数据库(Vector Database)的2-5倍

image-20250614162257134
image-20250614162257134

  Milvus和其他向量数据库(Vector Database)相比有什么优势呢?官方文档第一章做了介绍

image-20250614162858355
image-20250614162858355

  我总结就是以下几点:

  • 部署方式灵活。灵活意味着入门简单
  • 支持更多的编程语言。主流的Java、Python都支持
  • 可扩展性强、可用性强
  • 价格便宜(这才是最重要的)

  最后,很多大厂都在使用Milvus,说明Milvus的优势得到了大厂的认可

image-20250614164308119
image-20250614164308119

2 安装Milvus

  Milvus提供了三种安装方式。分别是是

  • Milvus Lite:轻量级,适合学习,所以一般不怎么用,因为轻量意味着功能有阉割,有一定的局限性。不推荐
  • Milvus Standalone:单机部署,Standalone就是单机的意思。是完整版向量数据库,功能没阉割。可用于测试和生产环境。推荐
  • Milvus Distributed:分布式向量数据库,可以理解为集群部署。推荐
image-20250614164527531
image-20250614164527531

  三个部署方式之间,功能对比如下:

  可以看到,Milvus Lite只支持2种语言,怪不得轻量

image-20250614165436796
image-20250614165436796

2.1 怎么安装呢?

  部署方式参考官方文档:https://milvus.io/docs/zh/install_standalone-docker.md

  这里重点介绍Milvus Standalone(单机部署)。根据官方文档介绍,单机部署既可以在Linux上部署,也可以在Windows上部署。公司内部肯定使用Linux部署

image-20250614165814058
image-20250614165814058

  而且官方文档介绍的很详细,在Docker中安装Milvus,只需要执行2行命令就行。但是这是在线安装的方式

image-20250614170402331
image-20250614170402331

  启动后的端口为19530

image-20250614170535791
image-20250614170535791

  停止和删除容器的脚本如下

  停止容器:standalone_embed.sh stop

  删除容器:standalone_embed.sh delete

image-20250614170730896
image-20250614170730896

2.2 离线安装

  由于我司需要在内网环境下安装Milvus,无法连接到外网,所以需要使用能连接到外网的电脑(比如私人电脑)去下载镜像,然后使用U盘传到我在公司的工作电脑上,工作电脑连接内网服务器,上传镜像到内网服务器上。所以本章节重点介绍离线部署

3 推行化可视工具 Attu

3.1 Linux安装Attu

  官方文档划到最下面,有个工具叫 Attu

image-20250614174845623
image-20250614174845623

  并且官方文档其他位置也介绍了,Attu是一个用于直观管理Milvus的开源图形用户界面工具

image-20250614175104799
image-20250614175104799

  Attu点进去,来到其Github源代码页面,地址为:https://github.com/zilliztech/attu

image-20250614180113169
image-20250614180113169

  页面往下滑,可以看到表格。表格中有2列,第1列是Milvus版本,第二列是推荐的Attu的版本。比如Milvus版本为2.5.x,则推荐的Attu的版本为v2.5.10

  文档中还清除的记录了Docker启动Attu的命令,但是这个脚本只是快速启动,没有任何数据的持久化

image-20250614180218094
image-20250614180218094

  如果要持久化数据或者使用一些环境变化,则详细脚本如下:

3.2 Windows安装Attu

  如果大家只想在windows电脑上安装Attu,则可以按照如下步骤:

  首页还是来到Github源代码页面,地址为:https://github.com/zilliztech/attu

  点击v2.5.10下面的下划线。注意:如果大家的Milvus版本是2.4.x,则点击v2.4.12下面的下划线,以此类推

image-20250614181450098
image-20250614181450098

  点击后跳转到另一个页面,页面地址为:https://github.com/zilliztech/attu/releases/tag/v2.5.10

  页面往下滑,可以看到有个attu-Setup-2.5.10.exe,这就是Attu的2.5.10版本的安装包

image-20250614181804286
image-20250614181804286

4 集成Milvus SDK

4.1 Java集成Milvus

  Java集成Milvus参考官方文档:https://milvus.io/docs/zh/install-java.md,引入依赖就行

image-20250614210612056
image-20250614210612056
代码语言:java
复制
<dependency>
    <groupId>io.milvus</groupId>
    <artifactId>milvus-sdk-java</artifactId>
    <version>2.5.9</version>
</dependency>

4.2 Python集成Milvus

  Python集成Milvus参考官方文档:https://milvus.io/docs/zh/install-pymilvus.md

image-20250614210827393
image-20250614210827393
代码语言:python
复制
python3 -m pip install pymilvus==2.5.10

4.3 Go集成Milvus

  Go集成Milvus参考官方文档:https://milvus.io/docs/zh/install-go.md

image-20250614211205720
image-20250614211205720
代码语言:go
复制
go get -u github.com/milvus-io/milvus-sdk-go/v2

  Node.js也能集成Milvus SDK,估计没什么人用,这里就不介绍了,如果要用的话,在官方文档里也能看到,我通篇的讲解都是基于官方文档

5 使用Milvus

5.1 创建数据库

  Milvus是一个向量数据库,可以理解和MySQL一样。MySQL存储的方式是:数据库 -> 表 -> 一行行数据。Milvus也是非常类似:数据库 -> 集合 -> 数据

  所以在使用Milvus之前,得先创建数据库。这里重点讲下Java创建Milvus数据库的方式,官方文档里代码都帮我们写好了,说明文档还是挺详细的

image-20250614212600689
image-20250614212600689
代码语言:java
复制
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.service.database.request.*;

# 创建连接配置,uri就是安装Milvus的服务器的地址
ConnectConfig config = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .token("root:Milvus")
        .build();
# 创建一个客户端连接,以后增删改查工作,都是通过这个客户端连接来完成
MilvusClientV2 client = new MilvusClientV2(config);

# 创建一个请求类,类里写了要创建的数据库的名称
CreateDatabaseReq createDatabaseReq = CreateDatabaseReq.builder()
        .databaseName("my_database_1")
        .build();
# 使用客户端连接,创建Milvus数据库
client.createDatabase(createDatabaseReq);

  以上只是简单创建数据库的方式,实际上数据库还有很多属性参数,可在创建数据库时考虑填加一些属性

image-20250614213259681
image-20250614213259681

  还有更改和删除数据库,都比较简单

image-20250614213443358
image-20250614213443358

5.2 Collection介绍

  Collection是集合的意思,相当于MySQL中的表,MySQL中数据是存在表中。Milvus中数据是存在集合(Collection)中。更巧的是,Collections中也有字段、行和列的概念,如果实在不好理解,把它理解成MySQL中的表也可以

  Collection的概念可以参考官方文档:https://milvus.io/docs/zh/manage-collections.md

  官方文档中明确说明:Collection是一个二维表,具有固定的列和变化的行。每列代表一个字段,每行代表一个实体。这不就是跟MySQL中的表的概念一模一样吗

image-20250614214305601
image-20250614214305601

5.3 字段

  MySQL表中的字段有类型(int、long、char等)、长度和约束(比如是否允许为空)等。Milvus的Collection(集合)中的字段也一样,但是有点区别。官方文档中对 字段 也有介绍,只是入口稍微有点隐蔽。

  点击 数字字段,或者直接点击官方文档地址:https://milvus.io/docs/zh/number.md

  可以看到数字字段有Bool、int8、int16、int32、int64、float、double

image-20250614215533068
image-20250614215533068

  字符串字段只有一种:Varchar

image-20250614215854246
image-20250614215854246

  其它字段都能在文档中找到详细的介绍,这里就不一一介绍了

5.4 创建Collection(集合)

  创建Collection(集合)之前先确定字段

image-20250614220415787
image-20250614220415787

  第二步:创建索引。创建索引是可选的,也就是说也可以不用创建索引。因为索引的本质是加快对该字段的查询,就跟MySQL一样,有索引查的更快,没索引也就慢一点

image-20250614220544102
image-20250614220544102

  第三步:创建Collection(集合)

image-20250614220811683
image-20250614220811683

5.5 查询Collection(集合)

  查询Milvus中有哪些Collection(集合),相当于查询MySQL中有哪些表

image-20250614221619526
image-20250614221619526

5.6 删除Collection(集合)

  删除Milvus中的Collection(集合),相当于删除MySQL中的表

image-20250614221822559
image-20250614221822559

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目开源地址
  • 1 Milvus简介
    • 1.1 Milvus是什么?
    • 1.2 为什么选择Milvus?
  • 2 安装Milvus
    • 2.1 怎么安装呢?
    • 2.2 离线安装
  • 3 推行化可视工具 Attu
    • 3.1 Linux安装Attu
    • 3.2 Windows安装Attu
  • 4 集成Milvus SDK
    • 4.1 Java集成Milvus
    • 4.2 Python集成Milvus
    • 4.3 Go集成Milvus
  • 5 使用Milvus
    • 5.1 创建数据库
    • 5.2 Collection介绍
    • 5.3 字段
    • 5.4 创建Collection(集合)
    • 5.5 查询Collection(集合)
    • 5.6 删除Collection(集合)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档