概览
Doris WebUI(简称 WebUI)是由 SelectDB 提供的,面向数据开发场景,与 Enterprise Core 深度融合的数据开发平台,能协助用户管理、探索数据,可以替代 Navicat。
主要功能
- 集群登录 :可以在 WebUI 登录数据库,并与数据库进行交互。
- 数据管理 :对数据库中数据的查看、编辑,当前支持查看。
- 数据查询 :简单易用的 SQL 查询编辑器,支持查询执行、多 Tab、查看数据、查询 Profile、历史查询记录等能力。
- 权限管理 :管理数据库内的用户和角色,并对其进行授予、撤销权限。
功能导航
WebUI 界面整体布局如下:
导航栏位于 WebUI 界面的左侧,提供了“数据”、“查询”、“权限”功能,同时展示了当前登录的用户。
注册与登录
注册集群
如果你使用 Manager 部署/接管了 Doris 集群,你可以直接登录 WebUI。
当前,每个集群都有自己独立的 WebUI 进程,我们在未来会将 WebUI 打包进 FE 中,以简化流程。
登录
输入数据库用户名密码,即可登录。我们不会记录你的登陆账号和密码,但你可以使用浏览器自带的记录功能。
数据
“数据”模块是 WebUI 管理数据库的基本功能,主要有两方面的作用:
1、 查看数据 与 数据的组织形式,比如库表结构、数据大小、建表语句、表字段信息、数据预览等。
2、增删改数据,包括新建、删除数据库对象,修改存储策略等。这部分功能仍在实现中,暂时不可用。
数据模块,按照数据库中数据的组织形式进行展示,分为 目录 (Catalog)- 数据库 (Database)- 表 (Table)/ 视图 (View)。
目录(Catalog)
目录(Catalog)是数据库的集合。Enterprise Core 在 1.2 版本后引入了目录 Catalog的概念,内部目录可以理解为原有的数据库系统,外部目录可以连接 Hive、Iceberg、Hudi 等,作为对数据湖特性的支持。
数据库(Database)
数据库(Database)是表、视图的集合。数据库(Database)属于目录(Catalog)。
当选中一个目录时,你可以查看目录下属的数据库,以及数据库的大小,修改时间。同时,你可以删除、新建数据库。
表(Table)
表(Table)是数据仓库的基本组成单位,表(Table)属于数据库(Database)。
当选中一个数据库时,可以看到数据库下属的表,以及表的大小,创建、修改时间。
在当前版本,你可以删除表,在以后的版本上,你可以在 WebUI 建表并管理表的生命周期。
表详情
在表详情页面,你可以查看表的定义和一些基础属性。
未来我们会在这里支持对表的生命周期的查看和管理,提供更丰富的存储相关的统计信息。
字段信息
在这里你可以看到当前表(Base Table)以及其 Rollup 或者 物化视图的字段信息。
索引
这里展示的是表内的索引信息,内核中有很多类似索引的加速方式,在这里,分区、主键、Rollup暂时不作为索引对待,只展示 Zonemap、Bloomfilter、Bitmap/Inverted Index 这几类索引。
数据概览
“共 x 条数据”是从元数据服务中获取的,因此可能有延迟。
视图(View)
视图是基于 SQL 语句的结果集的可视化的表。在 WebUI 中,我们将视图与表分开处理,物化视图不属于视图。
视图页面与表页面大致类似,视图没有的属性(如索引、详情)不会被展示。
你可以预览数据,但预览视图数据会发起查询,消耗集群资源。
查询
查询的结果将在编辑框的下方返回,查询返回的错误或者是成功状态以及信息也会在查询结果处展示。
同时,你可以点击右侧的 下载 ,将你的查询结果下载下来。
可以点击查询历史的 Query ID ,可以查看查询详情。
注意 非查询语句没有 Query ID ,查询失败的语句也没有 Query ID。
在 WebUI 发起的查询默认都开启了查询计划,这不会对单个查询性能造成影响,点击“查询语句”可以进入执行计划页面。
你可以在编辑器右上角找到“保存查询”与“另存为新查询”。同时,你可以在左侧第二个 Tab 找到已经保存的查询,并再次打开它。
权限
你可以在权限模块中,新建、管理用户角色,以及他们的权限。
用户
展示集群中的用户,需要注意的是,root 用户不会在这里展示。
只有拥有 Admin 权限的用户,能新增、修改其他用户。
你可以在这个页面新建用户,除了用户名之外,其他的内容都是非必选的。
我们建议你为用户添加密码,同时限制访问主机以增强安全性。
角色
在这里你可以管理数据库中的角色,也可以给角色进行授权的操作。
只有拥有 Admin 权限的用户能新增、修改其他角色。
授权
在用户或角色的详情页,点击具体的用户或者角色名,即可进入权限配置页面,你可以进行授权/撤销操作。
你需要拥有 Admin 或者对应层级的 Grant 权限,才能进行授权/撤销工作。
在 WebUI 中,我们将权限分为三类,分别是:
- 全局 :全局权限是全数据库层级的权限,拥有全局权限,自动拥有数据库中所有对应对象的对应权限。
- 数据 :指数据资源的权限,你可以按照层级进行授权,拥有父层级的权限,自动拥有其子内容的对应权限。
- 资源 :是 Resource 的权限,有 Grant 和 Usage 两种。