通过 Amazon DataZone 实现数据治理 - 数据的发现、共享与访问控制
介绍构建基于域的数据目录,通过订阅工作流实现数据的发现、共享和访问控制的方法。
DataZone 概述
DataZone 是集成组织内数据的发现、共享和治理的服务,可管理数千个数据资产和数百个用户。数据生产者将数据资产发布到目录中,数据消费者从目录中搜索所需数据并申请订阅。批准后,消费者可直接从 Athena 或 Redshift 访问数据。DataZone 提供门户 UI,即使非技术人员的业务用户也可通过浏览器搜索和浏览数据资产。其主要目的是可视化组织数据资产的全貌,实现孤立数据的跨部门利用。
域与订阅
域是对应业务部门或团队的逻辑分组,明确数据的所有权和管理责任。每个域可设置数据所有者,委派该域内资产发布和订阅审批的权限。项目是域内用户消费数据的工作单元,管理与分析环境(Athena/Redshift)的连接。在订阅工作流中,消费者申请访问数据资产,由生产者或管理员批准。批准后自动授予 Lake Formation 权限,消费者可从 Athena 执行查询。可配置自动审批规则,满足特定条件(如同一域内)的请求无需人工干预即时批准。订阅可设置有效期,过期后访问权限自动失效,防止数据的不必要长期共享。
数据质量与目录管理
通过 DataZone 的数据质量规则自动验证发布的数据资产质量。定义完整性(NULL 值比例)、唯一性(重复记录)、新鲜度(最后更新日期)等规则,并在目录中显示质量分数。通过业务术语表(Glossary)管理组织通用的术语定义,为数据资产添加标签,不仅可通过技术表名还可通过业务含义搜索数据。通过元数据表单定义数据所有者、更新频率、敏感级别等自定义属性,为数据资产附加治理所需的信息。通过与 Glue 数据目录的集成,可将现有表定义自动导入 DataZone。Redshift 表也可同样注册到目录中。搜索功能支持自然语言查询,用户无需知道准确的表名,通过「与销售相关的数据」等模糊搜索即可发现目标资产。 如果想全面学习 DataZone 的设计模式,请参考技术书籍(Amazon)。
DataZone 的费用
DataZone 的费用由目录中注册的数据资产数量和元数据 API 调用数构成。每个数据资产月费约 0.10 美元,元数据 API 每 100 万请求约 4.25 美元。订阅的批准和管理无额外费用。大规模组织中数据资产数量可达数千,通过定期盘点不必要的资产来管理成本。通过与 Glue 数据目录的集成利用现有元数据,避免重复的目录管理,也可降低运维成本。
与 Lake Formation/Glue 的集成及设计模式
DataZone 与 Lake Formation 深度集成。订阅审批时的权限授予通过 Lake Formation 的表和列级访问控制实现。这使得引用 S3 上相同数据的同时,可限制每个消费者看到的列,实现列级安全。DataZone 与 Glue 数据目录双向同步——当 Glue 侧检测到新表时,自动反映到 DataZone 目录。多账户配置中,推荐 Hub-Spoke 模式:在中央治理账户放置 DataZone 域,将各工作负载账户的 Glue 目录联邦化。此配置集中管理治理策略的同时,数据物理存储分散在各账户。通过环境(Environment)设置关联 Athena 工作组或 Redshift 集群,自动配置消费者在获得批准后立即可查询的状态。
部署陷阱与运维最佳实践
DataZone 部署时存在常见的失败模式。域设计过粗(如全公司一个域)会导致审批流程集中成为瓶颈,过细(如每个表一个域)则管理繁琐。以业务部门或产品线为单位的粒度在实务中较为均衡。未整备业务术语表就开始运营,会导致目录搜索精度低,用户找不到目标数据。建议在 DataZone 部署前,为主要数据域准备 50~100 个术语定义。数据质量规则从一开始设置过严格,会导致质量分数低的现有表无法发布,阻碍实际采用。现实的做法是先以宽松阈值开始发布,同时并行推进质量改善。为防止目录陈旧化,建议为数据所有者设定每季度盘点责任,建立将未使用资产取消发布的运营规则。
总结
DataZone 是集成数据的发现、共享和治理,在整个组织中最大化数据价值的服务。通过基于域的所有权管理明确数据责任,通过订阅工作流实现基于审批的数据共享。与 Lake Formation 的集成提供列级安全和多账户支持,满足企业级治理需求。通过数据质量规则和业务术语表提升目录的可信度和可搜索性。