李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
07.数仓建设之数据治理
Leefs
2022-09-29 AM
2100℃
1条
[TOC] ### 前言 **数仓建设真正的难点不在于数仓设计,而在于后续业务发展起来,业务线变的庞大之后的数据治理,**包括资产治理、数据质量监控、数据指标体系的建设等。 其实数据治理的范围很⼴,包含数据本⾝的管理、数据安全、数据质量、数据成本等。在**DAMA 数据管理知识体系指南**中,数据治理位于数据管理“车轮图”的正中央,是数据架构、数据建模、数据存储、数据安全、数据质量、元数据管理、主数据管理等10大数据管理领域的总纲,为各项数据管理活动提供总体指导策略。 ![07.数据建设之数据治理01.png](https://lilinchao.com/usr/uploads/2022/09/898979141.png) ### 一、数据治理之道是什么 **1)数据治理需要体系建设** 为发挥数据价值需要满足三个要素:**合理的平台架构、完善的治理服务、体系化的运营手段。** 根据企业的规模、所属行业、数据量等情况选择合适的平台架构;治理服务需要贯穿数据全生命周期,保证数据在采集、加工、共享、存储、应用整个过程中的完整性、准确性、一致性和实效性;运营手段则应当包括规范的优化、组织的优化、平台的优化以及流程的优化等等方面。 **2)数据治理需要夯实基础** 数据治理需要循序渐进,但在建设初期至少需要关注三个方面:**数据规范、数据质量、数据安全。**规范化的模型管理是保障数据可以被治理的前提条件,高质量的数据是数据可用的前提条件,数据的安全管控是数据可以共享交换的前提条件。 **3)数据治理需要IT赋能** 数据治理不是一堆规范文档的堆砌,而是需要将治理过程中所产生的的规范、流程、标准落地到IT平台上,在数据生产过程中通过“以终为始”前向的方式进行数据治理,避免事后稽核带来各种被动和运维成本的增加。 **4)数据治理需要聚焦数据** 数据治理的本质是管理数据,因此需要加强元数据管理和主数据管理,从源头治理数据,补齐数据的相关属性和信息,比如:元数据、质量、安全、业务逻辑、血缘等,通过元数据驱动的方式管理数据生产、加工和使用。 **5)数据治理需要建管一体化** 数据模型血缘与任务调度的一致性是建管一体化的关键,有助于解决数据管理与数据生产口径不一致的问题,避免出现两张皮的低效管理模式。 ### 二、浅谈数据治理方式 如上面所说,数据治理的范围非常广,其中最重要的是数据质量治理,而数据质量涉及的范围也很广,贯穿数仓的整个生命周期,从**数据产生->数据接入->数据存储->数据处理->数据输出->数据展示,**每个阶段都需要质量治理,评价维度包括**完整性、规范性、一致性、准确性、唯一性、关联性等。** 在系统建设的各个阶段都应该根据标准进行数据质量检测和规范,及时进行治理,避免事后的清洗工作。 **质量检测可参考以下维度:** ![07.数据建设之数据治理02.png](https://lilinchao.com/usr/uploads/2022/09/417456921.png) 下面是根据美团的技术文章总结的几点具体治理方式: #### **1)规范治理** 规范是数仓建设的保障。为了避免出现指标重复建设和数据质量差的情况,统一按照最详细、可落地的方法进行规范建设。 **① 词根** 词根是维度和指标管理的基础,划分为普通词根与专有词根,提高词根的易用性和关联性。 - **普通词根:**描述事物的最小单元体,如:交易-trade。 - **专有词根:**具备约定成俗或行业专属的描述体,如:美元-USD。 **② 表命名规范** **通用规范** - 表名、字段名采用一个下划线分隔词根(示例:clienttype->client_type)。 - 每部分使用小写英文单词,属于通用字段的必须满足通用字段信息的定义。 - 表名、字段名需以字母为开头。 - 表名、字段名最长不超过64个英文字符。 - 优先使用词根中已有关键字(数仓标准配置中的词根管理),定期Review新增命名的不合理性。 - 在表名自定义部分禁止采用非标准的缩写。 **表命名规则** - `表名称 = 类型 + 业务主题 + 子主题 + 表含义 + 存储格式 + 更新频率 +结尾`,如下图所示: ![07.数据建设之数据治理03.jpg](https://lilinchao.com/usr/uploads/2022/09/4276538216.jpg) **③ 指标命名规范** 结合指标的特性以及词根管理规范,将指标进行结构化处理。 - 基础指标词根,即所有指标必须包含以下基础词根: ![07.数据建设之数据治理04.png](https://lilinchao.com/usr/uploads/2022/09/1657955066.png) - 业务修饰词,用于描述业务场景的词汇,例如trade-交易。 - 日期修饰词,用于修饰业务发生的时间区间。 ![07.数据建设之数据治理05.png](https://lilinchao.com/usr/uploads/2022/09/4145714675.png) - 聚合修饰词,对结果进行聚集操作。 ![07.数据建设之数据治理06.png](https://lilinchao.com/usr/uploads/2022/09/3294386589.png) - 基础指标,单一的业务修饰词+基础指标词根构建基础指标 ,例如:交易金额-trade_amt。 - 派生指标,多修饰词+基础指标词根构建派生指标。派生指标继承基础指标的特性,例如:安装门店数量-install_poi_cnt。 - 普通指标命名规范,与字段命名规范一致,由词汇转换即可以。 ![07.数据建设之数据治理07.png](https://lilinchao.com/usr/uploads/2022/09/26606774.png) #### **2)架构治理** **① 数据分层** 优秀可靠的数仓体系,往往需要清晰的数据分层结构,即要保证数据层的稳定又要屏蔽对下游的影响,并且要避免链路过长,一般的分层架构如下: ![07.数据建设之数据治理08.jpg](https://lilinchao.com/usr/uploads/2022/09/414071167.jpg) **② 数据流向** 稳定业务按照标准的数据流向进行开发,即`ODS-->DWD-->DWA-->APP`。非稳定业务或探索性需求,可以遵循`ODS->DWD->APP`或者`ODS->DWD->DWT->APP`两个模型数据流。 在保障了数据链路的合理性之后,又在此基础上确认了模型分层引用原则: - **正常流向**:`ODS>DWD->DWT->DWA->APP`,当出现ODS >DWD->DWA->APP这种关系时,说明主题域未覆盖全。应将DWD数据落到DWT中,对于使用频度非常低的表允许DWD->DWA。 - 尽量避免出现DWA宽表中使用DWD又使用(该DWD所归属主题域)DWT的表。 - 同一主题域内对于DWT生成DWT的表,原则上要尽量避免,否则会影响ETL的效率。 - DWT、DWA和APP中禁止直接使用ODS的表, ODS的表只能被DWD引用。 - 禁止出现反向依赖,例如DWT的表依赖DWA的表。 #### **3)元数据治理** 元数据可分为技术元数据和业务元数据: **技术元数据**为开发和管理数据仓库的IT 人员使用,它描述了与数据仓库开发、管理和维护相关的数据,包括数据源信息、数据转换描述、数据仓库模型、数据清洗与更新规则、数据映射和访问权限等。 常见的技术元数据有: - **存储元数据:**如表、字段、分区等信息。 - **运行元数据:**如大数据平台上所有作业运行等信息:类似于 Hive Job 日志,包括作业类型、实例名称、输入输出、 SQL 、运行参数、执行时间,执行引擎等。 - **数据开发平台中数据同步、计算任务、任务调度等信息:**包括数据同步的输入输出表和字段,以及同步任务本身的节点信息:计算任务主要有输入输出、任务本身的节点信息 任务调度主要有任务的依赖类型、依赖关系等,以及不同类型调度任务的运行日志等。 - **数据质量和运维相关元数据:**如任务监控、运维报警、数据质量、故障等信息,包括任务监控运行日志、告警配置及运行日志、故障信息等。 **业务元数据**为管理层和业务分析人员服务,从业务角度描述数据,包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等,帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。 - 常见的业务元数据有维度及属性(包括维度编码,字段类型,创建人,创建时间,状态等)、业务过程、指标(包含指标名称,指标编码,业务口径,指标类型,责任人,创建时间,状态,sql等),安全等级,计算逻辑等的规范化定义,用于更好地管理和使用数据。数据应用元数据,如数据报表、数据产品等的配置和运行元数据。 元数据不仅定义了数据仓库中数据的模式、来源、抽取和转换规则等,而且是整个数据仓库系统运行的基础,**元数据把数据仓库系统中各个松散的组件联系起来,组成了一个有机的整体。** **元数据治理主要解决三个问题:** - 通过建立相应的组织、流程和工具,推动业务标准的落地实施,实现指标的规范定义,消除指标认知的歧义; - 基于业务现状和未来的演进方式,对业务模型进行抽象,制定清晰的主题、业务过程和分析方向,构建完备的技术元数据,对物理模型进行准确完善的描述,并打通技术元数据与业务元数据的关系,对物理模型进行完备的刻画; - 通过元数据建设,为使用数据提效,解决“找数、理解数、评估”难题以及“取数、数据可视化”等难题。 **4)安全治理** + 第一,围绕数据安全标准,首先要有数据的分级、分类标准,确保数据在上线前有着准确的密级。 + 第二,针对数据使用方,要有明确的角色授权标准,通过分级分类和角色授权,来保障重要数据拿不走。 + 第三,针对敏感数据,要有隐私管理标准,保障敏感数据的安全存储,即使未授权用户绕过权限管理拿到敏感数据,也要确保其看不懂。 + 第四,通过制定审计标准,为后续的审计提供审计依据,确保数据走不脱。 **5)据生命周期治理** 任何事物都具有一定的生命周期,数据也不例外。从数据的产生、加工、使用乃至消亡都应该有一个科学的管理办法,将极少或者不再使用的数据从系统中剥离出来,并通过核实的存储设备进行保留,不仅能够提高系统的运行效率,更好的服务客户,还能大幅度减少因为数据长期保存带来的储存成本。数据生命周期一般包含在线阶段、归档阶段(有时还会进一步划分为在线归档阶段和离线归档阶段)、销毁阶段三大阶段,管理内容包括建立合理的数据类别,针对不同类别的数据制定各个阶段的保留时间、存储介质、清理规则和方式、注意事项等。 ![07.数据建设之数据治理09.jpg](https://lilinchao.com/usr/uploads/2022/09/3028297411.jpg) 从上图数据生命周期中各参数间的关系中我们可以了解到,数据生命周期管理可以使得高价值数据的查询效率大幅提升,而且高价格的存储介质的采购量也可以减少很多;但是随着数据的使用程度的下降,数据被逐渐归档,查询时间也慢慢的变长;最后随着数据的使用频率和价值基本没有了之后,就可以逐渐销毁了。 *原文链接地址* *https://mp.weixin.qq.com/s/gCEXqGKkXrLvEC1zpUOoNQ*
标签:
DataWarehouse
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/2412.html
上一篇
06.数仓建设之基于Flink SQL从0到1构建一个实时数仓
下一篇
08.数仓建设之数据质量建设
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
2
标签云
Livy
Nacos
SQL练习题
NIO
JavaSE
SpringBoot
线程池
Beego
排序
Shiro
JavaWeb
序列化和反序列化
Scala
FastDFS
队列
Spark RDD
Golang基础
CentOS
哈希表
数据结构
散列
SpringCloudAlibaba
正则表达式
Golang
DataX
Hbase
持有对象
前端
Hadoop
并发线程
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭