数据治理应该是企业顶层设计、战略规划方面的内容,是数据管理活动的总纲和指导,指明数据管理过程中那些决策要被制定,以及由谁来负责,更强调组织模式、责任分工和标准规范。数据治理是个宽泛的概念,而在于数仓日常开发中,对于真正干活的我们来说,最主要要的就是元数据管理、数据质量监控、数据开发规范,主数据管理、权限管理几个方面。
分类
1.业务元数据
从业务角度描述业务领域的相关概念、关系,包括业务术语和业务规则。
维度、维度描述、属性信息、指标、指标定义、业务过程
2.技术元数据
指技术细节相关的概念、关系和规则,包括对数据结构、数据处理方面的描述。以及数据仓库、ETL、前端展现等技术细节的信息。
存储元数据(表、字段、分区、生命周期);运行元数据(作业类型、实例名称、执行时间);数据同步、计算任务、任务调度等信息;数据质量和运维相关元数据,如任务监控、运维报警、数据质量
元数据管理内容:
初始化配置、元数据采集、提供元数据价值分析:包括血缘分析、健康度分析等,支撑数据资产可视化。(数据地图)
开源工具:1.Apache Atlas 2.Netflix Metadata
数据质量的保证就是确保你在数据同步,数据处理的过程中是准确的,不会出现丢数据、多数据、数据指标错误等情况。
通常来说解决这个问题的方式是做一个监控任务,而这个监控任务是要按照相应的业务来确定的例如
数据条数:你业务数据是10000条,那么你同步到数仓中的数据量也应该是10000条。你业务数据的来源渠道有40个,那么你同步到数仓中的数据的渠道也只能有40个。
数据值:通过一些事实指标的总和来确认,业务数据中的销售额和数仓中的销售额是相同的,或者做一些同比环比的值其差异要维持在20%内。
每个公司的规范会存在差异,但是都会有自己相应的规范,例如:
命名规范:表的命名,字段的命名,字段的类型,注释的书写都有相应的规范。
开发流程规范:如先梳理业务流程->构建逻辑模型物理模型->开发->测试->上线。
脚本存储的规范:脚本存到那个目录,脚本的命名规范。
数据存储的规范:使用内部表还是外部表,外部表存储的路径。
调度的规范:任务在调度中的配置规范。
脚本的开发规范:脚本书写要规范,阅读性要强。
口径规范:同一个指标在不同表中的口径要是一样的。
这些规范,可以让人更方便的找到他需要的逻辑口径,在主数据的治理过程中也更方便。
在业务的发展过程中,会存在某些产品上线和产品下线,对于下线的产品,那么他相应的任务也要下线,数据也要进行删除,或者一些升级的任务,那么升级前的任务也会删除。这个任务的删除要怎么流程话的删除和下线呢。
首先便是整个业务调度的下线,不需要每天去执行了,还有就是将相应的脚本移到下线任务的文件夹中,之后便是删除表结构,并将数据移入到临时文件夹中(为了安全),如果之前的命名都遵循规范的话,那么都可以通过脚本来执行。
权限管理一般作为数据系统的重要组成部分,通过控制账号的可支配能力,防止因用户操作不当导致的数据泄露、数据篡改等问题,同时,对敏感数据按查看角色进行隔离,避免不相关的人看到不应该了解的数据,达到风险管控的效果。
数据权限:
对数据进行控制、隔离,保证敏感数据的安全,让数据相关者看到合适的数据,将数据不相关者杜绝在外。
可根据业务部门、业务场景或业务职能进行数据权限区分,比如A区销售不能看B区销售的数据,客服不能看到给销售看的销量指标等等。
操作权限:
操作大多分为写(增删改)和读(查看),操作权限可控制用户是否可读写的能力,例如用户A的操作权限是可读,则他只能查看数据,不可编辑数据,一般通过页面某些按钮做控制,既用户A无法点击或看不见「编辑」按钮。
菜单权限:
简而言之,就是用户能进入的菜单范围,通过菜单权限可以控制用户的菜单显示,例如,不希望用户A看到库存数据,则用户A登录数据系统后,菜单栏上不会有库存数据页面的入口。