Milvus向量数据库管理工具[Attu]实践

Attu是一款专为Milvus向量数据库打造的开源数据库管理工具,提供了便捷的图形化界面,极大地简化了对Milvus数据库的操作与管理流程。阿里云Milvus集成了Attu,以便更加高效地管理数据库、集合(Collection)、索引(Index)和实体(Entity)等的管理。

前提条件

已完成网络安全设置,详情请参见网络访问与安全设置

访问Attu页面

  1. 在浏览器中输入访问地址。支持以下两种访问方式:

    • 内网访问地址:{{clusterId}}-internal.milvus.aliyuncs.com:3000

    • 公网访问地址:{{clusterId}}.milvus.aliyuncs.com:3000

      说明

      如果您使用公网访问地址,则可以直接在实例详情 页面单击Attu manager

  2. 在弹出的对话框中输入所要访问的数据库、用户名和密码,单击连接,即可打开Attu管理页面。

    在实例创建完成后,系统会自动创建一个名为default的默认数据库,并为您创建一个名为root的用户,该用户的密码由您在创建实例时自行设置。

管理Database

该功能使您能够管理数据库,包括创建、删除和查看操作。要使用此功能,您必须具备相应的数据库管理权限。

说明

default为默认数据库,无法进行删除操作。

创建Database步骤如下:

  1. 在Attu页面,单击左侧的

    图标。

  2. 在database页面,单击**+数据库**。

  3. 在弹出的对话框中,输入数据库名称,单击创建

管理Collection

Collection管理模块为您提供了强大的表结构设计、数据导入导出以及日常维护功能。要使用此功能,您必须具备相应的Collection管理权限。以下示例演示了创建Collection、索引以及导入和加载向量数据的过程。

  1. 在Attu页面,单击左侧的

    图标。

  2. 在Collection页面,单击创建Collection,创建名称为demo的Collection。

  3. 单击创建索引,创建名称为demo_idx的索引。

  4. 导入一定规模的样本数据到demo中。

  5. 加载向量数据到内存中。

说明

  • 您可以通过单击释放来将已加载至内存中的Collection数据进行释放。虽然数据会保留在存储介质上,但在释放后将无法执行检索操作。

  • 您也可以通过单击drop来永久删除Collection及其数据,使其无法恢复使用。

向量检索

通过向量检索功能,您可以进行数据探索、模型验证以及应用开发等操作。

  1. 在Attu页面,单击左侧的

    图标。

  2. 选择已经加载的Collection,输入需要进行相似性搜索的向量,定义好搜索参数,单击搜索

    返回信息如下图所示。

    您还可以单击上面的Advanced Filter,通过输入Filter条件,对Collection中的标量字段进行过滤,获取更快更为精确的搜索结果。

管理用户和角色

通过该功能,您可以创建新的用户和角色,并为用户分配特定角色及相应权限。

创建用户

  1. 在Attu页面,单击左侧的

    图标。

  2. 用户们 页签,单击**+用户**。

  3. 在弹出的对话框中,设置用户名密码 以及用户的角色,单击创建

创建角色

  1. 用户 页面,单击角色页签。

  2. 角色 页签,单击**+角色**。

  3. 在弹出的对话框中,设置角色名、选择相应的权限,单击创建

    权限详细说明,请参见权限说明

权限说明

Milvus中的授权对象主要包含全局、集合和用户。授权时如果权限选择*****,则意味着该角色拥有授权对象的所有API调用权限。每个对象对应的权限和接口API如下表所示。

全局

|-----------------------|----------------------------------|
| 权限 | API接口 |
| CreateCollection | CreateCollection |
| DropCollection | DropCollection |
| DescribeCollection | DescribeCollection |
| ShowCollections | ShowCollections |
| RenameCollection | RenameCollection |
| FlushAll | FlushAll |
| CreateOwnership | CreateUser CreateRole |
| DropOwnership | DeleteCredential DropRole |
| SelectOwnership | SelectRole/SelectGrant |
| ManageOwnership | OperateUserRole OperatePrivilege |
| CreateResourceGroup | CreateResourceGroup |
| DropResourceGroup | DropResourceGroup |
| DescribeResourceGroup | DescribeResourceGroup |
| ListResourceGroups | ListResourceGroups |
| TransferNode | TransferNode |
| TransferReplica | TransferReplica |
| CreateDatabase | CreateDatabase |
| DropDatabase | DropDatabase |
| ListDatabases | ListDatabases |
| CreateAlias | CreateAlias |
| DropAlias | DropAlias |
| DescribeAlias | DescribeAlias |
| ListAliases | ListAliases |

集合

|--------------------|---------------------------------------------------|
| 权限 | API接口 |
| CreateIndex | CreateIndex |
| DropIndex | DropIndex |
| IndexDetail | DescribeIndex/GetIndexState/GetIndexBuildProgress |
| Load | LoadCollection/GetLoadingProgress/GetLoadState |
| GetLoadingProgress | GetLoadingProgress |
| GetLoadState | GetLoadState |
| Release | ReleaseCollection |
| Insert | Insert |
| Delete | Delete |
| Upsert | Upsert |
| Search | Search |
| Flush | Flush/GetFlushState |
| GetFlushState | GetFlushState |
| Query | Query |
| GetStatistics | GetCollectionStatistics |
| Compaction | Compact |
| Import | BulkInsert/Import |
| LoadBalance | LoadBalance |
| CreatePartition | CreatePartition |
| DropPartition | DropPartition |
| ShowPartitions | ShowPartitions |
| HasPartition | HasPartition |

用户

|------------|------------------|
| 权限 | API接口 |
| UpdateUser | UpdateCredential |
| SelectUser | SelectUser |

相关推荐
其实防守也摸鱼6 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
人生百态,人生如梦7 小时前
每日论文解读(9.1)——ReToolSQL:面向鲁棒Text-to-SQL的Agentic强化学习与工具增强两阶段训练框架
数据库·sql
DevOpenClub7 小时前
网页采集如何稳定输出结构化数据:JSON、链接与快照三阶段流水线
数据库·json·api
其实防守也摸鱼7 小时前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透
SelectDB7 小时前
统一全文检索与 SQL 分析:Apache Doris 日志分析实践
运维·数据库·掘金技术征文
麻瓜code7 小时前
【MySQL】SQL优化实战:从慢查询定位到查询改写
数据库·sql·mysql
蓝鸟19748 小时前
Oracle HIS业务视图优化实战|VI_BQ_YWTX11从高耗费到秒级响应
数据库·oracle·his数据库调优·复合索引踩坑·is null索引问题·ql视图优化
数智启示录8 小时前
Apache Doris 4.0.8 混合检索实战(第 5 篇):三套系统只返回两条结果,一条 SQL 如何避开交集丢失
大数据·数据库·经验分享·sql·面试
今天AI了吗8 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
这个DBA有点耶8 小时前
RANGE/LIST/HASH/二级分区怎么选?分区表适用边界与隐藏代价
数据库·mysql·dba