概述
说明:
当用户在 WeData 的引擎绑定上,开启了绑定引擎 TCLake,资产目录将完全转换为 Catalog 页面。
Catalog 是 WeData 提供的统一数据治理的解决方案,旨在将结构化与非结构化数据、AI 模型与元数据资产纳入统一的元数据管理、访问控制、血缘追踪、变更记录和访问日志体系。
在 Catalog 中,元数据按三层 catalog-schema-table 等数据对象进行管理:
第一层 Catalog:顶层命名空间,对应组织单位 / 团队 / 项目 / 数据域等。
第二层 Schema:在 Catalog 下,用来进一步分类,如按模块、子系统、业务域等划分。
第三层 数据对象:Data/AI 对象,例如 tables、models。
表 (tables)
视图 (views)
Volumes (存储文件 / 非结构化 / 半结构化数据)
函数 (functions, UDF)
模型 (AI/ML models) — 使用 MLflow 注册后也纳入治理体系
功能介绍
Catalog 为数据治理提供了一整套功能,覆盖权限、治理、血缘、访问记录和变更记录等功能。具体体现在以下三层结构中。
一、Catalog 层
在 Catalog 层,当前分为数据类 Catalog 和模型类 Catalog,数据类 Catalog 下支持 table/view/function 实体对象的管理,模型类 Catalog 下支持 model 实体对象的管理。

单击左侧具体的 Catalog,进入 Catalog 详情页。支持 catalog 描述、catalog 下 schema 列表信息、catalog 基础信息和技术信息展示和管理。新创建一个 catalog,会有默认的两个 schema:default 和 information_schema,便于用户快速进行 schema 和实体对象的创建管理。
基础信息:展示标签和负责人,并且支持编辑。
技术信息:展示创建时间、创建人和数据变更时间。
权限:支持对Catalog 进行权限管控。

二、Schema 层
在 Schema 层,根据 Catalog 类型的不同,展示的信息有所不同:
数据类:支持对 Schema 添加描述,按照“表”“视图”“函数”展示 schema 下的表列表、视图列表和函数列表,右侧展示基础信息和技术信息。

模型类:支持对 Schema 添加描述,展示“模型”列表,右侧展示基础信息和技术信息。
权限:支持对 Schema 进行权限管控。

三、实体对象层
在具体的实体对象层,数据表/视图、函数和模型的详情页分为多个 Tab 页,主要为:
概览页:支持添加描述,展示表字段/视图字段/函数/模型的基本元数据信息,右侧展示基础信息和技术信息。
血缘:数据表和模型支持血缘的展示,展示数据流转全链路,包括数据/模型来源、去向、以及关联任务等。
变更记录:支持对数据表的变更记录,记录用户在何时、对哪个数据表、操作了什么 (SELECT / READ / WRITE / ALTER / DELETE…)。
访问记录:支持对数据表的访问记录,记录用户在何时、对哪个数据表进行了访问。
权限:支持对 table / volume / function / model 等所有对象进行权限 (privilege) 授权与撤销。
Catalog 权限
Catalog 权限 在 WeData 平台和项目权限管理的基础上,还基于特权和对象所有权:决定谁能访问或管理哪些 Catalog / Schema / Table / View / Volume / Function 等对象。
WeData 平台定义了主账号和资产管理员角色,这两个平台角色在 Catalog 中拥有对所有 catalog-schema-table 等实体对象的管理和读写权限。另外,Catalog 定义了特权和对象所有权,对三个层级进行细粒度的权限管控,具体如下:
对象所有权:
Catalog 中每个层级和实体对象 (catalog / schema / table / view / volume / function / model) 都有一个 owner。Owner 拥有对该对象的完全控制权,包括修改 / 授权 / 转让 / 元数据管理。除了 Owner,还可以通过赋予GRANT privileges 给用户,使其具备特权授权的权限。支持权限回收,Owner/主账号/资产管理员和拥有GRANT权限的用户,拥有权限回收的权限。
特权清单:授权主体可以授予相关用户的权限清单
层级 | 子层级 | 特权权限点 |
Catalog 层 | - | use catalog:使用当前 catalog alter catalog:修改 catalog 信息 drop catalog:删除 catalog create:创建 schema all 权限:授予以上所有权限点 grant 权限:可以管理以上所有权限 |
Schema 层 | - | use schema:使用数据库 alter schema:允许修改数据库信息 drop schema:删除库 create view:创建视图 create model:创建模型 create function:创建函数 all 权限:授予以上所有权限点 grant 权限:可以管理以上所有权限 |
实体对象层 | Table/View | delete table:删除表数据 select table/view:查询库内表数据 alter table/view:修改表结构 drop table/view:删除表 insert table:对库内表有 insert、写入/覆盖表 all 权限:授予以上所有权限点 grant 权限:可以管理以上所有权限 |
| Model | use model:使用模型 alter model:修改模型 drop model:删除模型 all 权限:授予以上所有权限点 grant 权限:可以管理以上所有权限 |
| Function | use function:使用函数 drop function:删除函数 alter function:修改函数 all 权限:授予以上所有权限点 grant 权限:可以管理以上所有权限 |
| Volume(即将上线) | read:读取 volumes write:更新 volumes delete:删除 volumes create volumes:创建 volumes all 权限:授予以上所有权限点 grant 权限:可以管理以上所有权限 |
元数据层 | - | Browse 浏览权限 |
权限设计原则:
特权授权遵循权限继承层级与显式原则,对高层对象 (catalog) 授权会级联给子对象 (schema, tables 等);只有被明确授予的人/组才有权限。