数据仓库已经建立使用好几年了,现在对目前数据仓库中的数据质量比较担心,
大家有什么好的方法能够比较清楚的了解目前数据仓库中的数据质量到底如何?
有没有什么好的工具或方法?谢谢
------解决方案--------------------
business driven
------解决方案--------------------
这个还是要看你当初加载前的数据质量了,如果源系统过来的数据没有经过任何的清洗就加载到数据库,那么质量肯定不高,在未加载到数据仓库前最好先清洗数据,比如:对数据的字段类型,字段长度,记录的完整性进行判断,决定是否加载。已经加载到数据仓库的数据也只能慢慢查了,呵呵
------解决方案--------------------
------解决方案--------------------
应该有什么数据分析的软件吧
------解决方案--------------------
工具到没听说过,现在我们还是纯手工操作的。
两个层面上进行处理,
一是数据逻辑,如2楼所说的,字段长度,字段类型,null值等数据规则上的问题。
二是业务逻辑的,比如一个业务要先在a中生成,然后再在b中写入一些关联信息。
那么如果出现b中有而a中无的情况,那么就是脏数据
类似的还有时间先后问题等系列的处理等。
------解决方案--------------------
数据分析系统吧
------解决方案--------------------
从业务层分析 到数据层分析,再从ETL中查找问题。。
貌似这样。。。
------解决方案--------------------
元数据信息?
------解决方案--------------------
个人认为
一个是强化过程管理,这点在ETL工具中基本上都具备了,那些数据通过了,哪些数据有问题
一个是数据仓库本身的缺陷,只能进行增量数据的更新,导致部分数据的丢失或冗余(丢失和冗余均可能出现)
再一个是从业务逻辑问题,即源数据本身的数据质量问题,导致很多关键值的缺失。
从三个方面考虑,我相信应该应该能够量化的
------解决方案--------------------
1、通过第三方工具实现ETL过程中的元数据管理,具体包括元数据血缘分析,
2、通过写程序解析以前ETL过程中的数据流信息,实现错误定位。
3、实现逐行或者加条件的ETL过程调试,以及设断点定位数据质量信息
4、规范日志记录行为,规定日志格式,甚至可以解析日志,保存在关系型数据库当中,供后续查询(这样记录日志的开销应该比较大)