【讨论】如何来量化数据仓库中的数据质量问题

zhouguoyao 2009-10-13 09:01:57
数据仓库已经建立使用好几年了,现在对目前数据仓库中的数据质量比较担心,
大家有什么好的方法能够比较清楚的了解目前数据仓库中的数据质量到底如何?

有没有什么好的工具或方法?谢谢
...全文
273 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leon_2012 2011-06-08
  • 打赏
  • 举报
回复
有个工具叫informatica data quality,去看看吧!
cztgl 2011-03-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zhouguoyao 的回复:]
我觉得数据仓库的质量问题来源于下面三个方面:
1、数据源问题(包括各生产系统(源)重构或产品线增加带来的数据质量问题)

2、ETL产生的问题(包括运维过程产生的,如维护某个维表时候,少了一个成员):抽取、装载、清洗转换过程中出现的新的质量问题

3、业务逻辑问题(包括设计问题和统计口径不一致的问题等等)

那么现在需要有一套工具或者一个平台 来自动发现可能产生的质量问题,从而可以自……
[/Quote]
you can build such a system so called 'data quality platform' only by yourself and receive dirty data from datawarehouse or ods checked out by the business rules every day.
zhouguoyao 2009-10-28
  • 打赏
  • 举报
回复
我觉得数据仓库的质量问题来源于下面三个方面:
1、数据源问题(包括各生产系统(源)重构或产品线增加带来的数据质量问题)

2、ETL产生的问题(包括运维过程产生的,如维护某个维表时候,少了一个成员):抽取、装载、清洗转换过程中出现的新的质量问题

3、业务逻辑问题(包括设计问题和统计口径不一致的问题等等)

那么现在需要有一套工具或者一个平台 来自动发现可能产生的质量问题,从而可以自动找到问题所在,来改善上面三个方面中存在的问题,以实现我们的真正目标---高质量可靠的数据仓库
duduniao85 2009-10-23
  • 打赏
  • 举报
回复
1、通过第三方工具实现ETL过程中的元数据管理,具体包括元数据血缘分析,
2、通过写程序解析以前ETL过程中的数据流信息,实现错误定位。
3、实现逐行或者加条件的ETL过程调试,以及设断点定位数据质量信息
4、规范日志记录行为,规定日志格式,甚至可以解析日志,保存在关系型数据库当中,供后续查询(这样记录日志的开销应该比较大)
  • 打赏
  • 举报
回复
个人认为
一个是强化过程管理,这点在ETL工具中基本上都具备了,那些数据通过了,哪些数据有问题
一个是数据仓库本身的缺陷,只能进行增量数据的更新,导致部分数据的丢失或冗余(丢失和冗余均可能出现)
再一个是从业务逻辑问题,即源数据本身的数据质量问题,导致很多关键值的缺失。

从三个方面考虑,我相信应该应该能够量化的
zhouguoyao 2009-10-19
  • 打赏
  • 举报
回复
1.数据概况分析结果
数据概况分析结果是对源系统的数据状况的分析产物,包括如源系统中有多少个表,每个表有多少字段,其中多少为空,表间的外键关系是否存在等
反映源系统数据质量的内容。这些内容用来决定数据迁移的设计和实现,并提供给错误事件事实表和审计维度表需要的相关数据。
2.错误事件事实表
错误事件事实表及相关的一系列维度表是数据质量检查部分的一个主要交付物。
粒度是每一次数据质量检查中的错误信息。
相关维度包括日期维度表、迁移信息维度表、错误事件信息维度表,
其中错误事件信息维度表中检查的类型、源系统的信息、涉及的表信息、检查使用的SQL等内容。
错误事件事实表不提供给前台用户。
3.审计维度表
审计维度表是给最终用户提供数据质量说明的一个维度表。它描述了用户使用的事实表的数据来源,数据质量情况等内容。
yangdingyu8686 2009-10-16
  • 打赏
  • 举报
回复
从业务层分析 到数据层分析,再从ETL中查找问题。。
貌似这样。。。
guidahuasheng 2009-10-16
  • 打赏
  • 举报
回复
数据分析系统吧
zhouguoyao 2009-10-16
  • 打赏
  • 举报
回复
大家继续讨论
vinsonshen 2009-10-16
  • 打赏
  • 举报
回复
元数据信息?
阿泰 2009-10-14
  • 打赏
  • 举报
回复
工具到没听说过,现在我们还是纯手工操作的。
两个层面上进行处理,
一是数据逻辑,如2楼所说的,字段长度,字段类型,null值等数据规则上的问题。
二是业务逻辑的,比如一个业务要先在a中生成,然后再在b中写入一些关联信息。
那么如果出现b中有而a中无的情况,那么就是脏数据
类似的还有时间先后问题等系列的处理等。

gjwang1983 2009-10-13
  • 打赏
  • 举报
回复
business driven
nianzhang747 2009-10-13
  • 打赏
  • 举报
回复
应该有什么数据分析的软件吧
zhouguoyao 2009-10-13
  • 打赏
  • 举报
回复
那么如何更有效的在ETL这一层对数据质量进行监控,大家有没有实际的一些经验可供分享?
阿泰 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pepsirjl 的回复:]
这个还是要看你当初加载前的数据质量了,如果源系统过来的数据没有经过任何的清洗就加载到数据库,那么质量肯定不高,在未加载到数据仓库前最好先清洗数据,比如:对数据的字段类型,字段长度,记录的完整性进行判断,决定是否加载。已经加载到数据仓库的数据也只能慢慢查了,呵呵
[/Quote]

数据质量的保证应该在ETL上完成,
后期如果发现了问题,就要往前推,看这个数据是怎么进来的,进来的时候有什么缺陷导致脏数据进来。

不过已经进来的数据好像没有专门的工具查出来吧,毕竟没有一个恒定的标准,主要还是靠应用中发现。
pepsirjl 2009-10-13
  • 打赏
  • 举报
回复
这个还是要看你当初加载前的数据质量了,如果源系统过来的数据没有经过任何的清洗就加载到数据库,那么质量肯定不高,在未加载到数据仓库前最好先清洗数据,比如:对数据的字段类型,字段长度,记录的完整性进行判断,决定是否加载。已经加载到数据仓库的数据也只能慢慢查了,呵呵

7,393

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧