加载中…
个人资料
人月聊IT
人月聊IT 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:4,981,522
  • 关注人气:6,012
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

主数据-数据质量管理(2.24)

(2017-02-24 19:51:12)
标签:

主数据

数据质量管理

杂谈

分类: IT咨询
谈数据质量管理,我们首先要绕开类似BI或MDM系统,首先看下对标准的数据质量管理的一下阐述。

数据质量管理(Data Quality Management),是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。

数据质量的评估维度主要包括如下几个方面的内容:

1.完整性 Completeness:完整性用于度量哪些数据丢失了或者哪些数据不可用。
2.规范性 Conformity:规范性用于度量哪些数据未按统一格式存储。
3.一致性 Consistency:一致性用于度量哪些数据的值在信息含义上是冲突的。
4.准确性 Accuracy:准确性用于度量哪些数据和信息是不正确的,或者数据是超期的。
5.唯一性 Uniqueness:唯一性用于度量哪些数据是重复数据或者数据的哪些属性是重复的。
6.关联性 Integration:关联性用于度量哪些关联的数据缺失或者未建立索引。

而以上这些内容我们在做MDM主数据管理系统的数据质量管理模块,包括实施ETL工具里面的数据转换和清洗等时候,都是需要考虑和支持的内容。

而对于数据质量管理,应该是覆盖数据生老病死的全生命周期管理,为了方便重点谈下常见的两个实施数据质量管理的阶段,一个是借助ETL工具实现的数据采集和整合阶段,一个是日常实时进行的数据检查和稽核。下面就这两个常见阶段分开再来谈下。

数据采集和整合阶段


现在的ETL操作很多已经转变为了ELT操作,即我们说的Transform转换这块的内容有些事在ETL传输过程中完成,而有些已经转变到数据采集到目标数据库后再在目标数据库端完成数据转换。

注意转换的作用更多的是将数据标准化和规范化,比如通过转换和映射,将名称转换为代码,将长度不足的内容不足长度,或者做两个数据项内容的合并等,这些都是可以在转换的时候执行的事情。

数据唯一性里面有一个重点就是去重和去相似性,对于去重我们可以在ETL工具里面通过转换配置完成,而对于去相似性往往则需要后续数据采集完成后编写独立的代码或脚本来分析相似性数据,并通过手工确认后再完成去除相似性数据或对数据进行合并操作。

一类主数据往往涉及到多张表,比如供应商主数据,涉及到基本信息,联系人信息,账号信息等多个子对象。这些子对象可以是一种层次关系,也可以是一种关联关系。这个我们在进行主数据对象和关联关系定义的时候会详细定义。这种关联性带来的就是参照完整性约束,比如供应商联系人信息在,但是对应的供应商头找不到了,对于这种数据不能再ETL上完成处理,但是可以通过脚本找出这种异常数据并手工处理和清洗。

日常进行的数据检查

主数据本身也是不断在增加,因此在数据清洗初始化完成,主数据平台开始正常运行后,我们还需要对主数据内容进行日常的数据检查和管控。这也是数据质量管理的一个重要内容。

对于日常数据检查和审计,整体的步骤可以考虑为

1. 定义数据检查规则,包括单表属性检查,单表跨行重复检查,多表关联依赖检查,多表一致性检查
2. 定义检查任务和检查单
3. 将检查单配置为一种计划调度,自动定期按时执行
4. 查看数据检查报表,对于异常数据进行手工处理或自动化处理

前面已经谈到过的数据准确性,唯一性,数据的重复或相似等检查也都可以在这个阶段做。同时我们看到还有一个核心工作,即数据本身的一致性检查和数据稽核。

比如从两个系统都采集到供应商数据,如何去匹配和检查两个系统的供应商数据的差异和一致性,这就需要有独立的数据稽核功能。数据稽核首先对数据对象有唯一的匹配关键字,其次是定义需要进行数据稽核的字段。对于A和B两个数据表而言,常见的数据稽核和比对结果主要包括如下几个方面。

1. A和B两个表哪些数据是完全相同的?
2. 哪些数据A表有,B表没有,或者相反。
3. 哪些数据A和B两个都有,但是存在数据项内容不一致的情况。

以上就是最简单的数据稽核,对于数据稽核的结果首先是可以由系统触发自动化的进行再次的数据同步和集成,包括数据集成过程中的清洗和转换;其次可以输出数据稽核报表,供业务人员手工处理异常数据。

最后再强调下虽然说数据质量管理是一个全生命周期的事情,但是数据质量真正要提升一定不是事后进行数据检查和稽核,而是真正从产生数据问题的源头抓起。比如解决数据源多个多点录入问题,解决同样的数据可以在多个系统发起修改的问题,解决数据模型中定义的数据约束在数据录入的时候没有进行完整性控制的问题等。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有