数据仓库--数据质量
大的归类三个方面:
一 数据质量
1 数据的完整性: 所有的所都符合BI业务需求。
2 数据的一致性: 经过数据清洗转化(ETL)能和数据源保持一致。
3 数据的精准性: 在不同的业务规则和业务情景下,值都是正确的。
二 数据性能:数据仓库能够给用户报表和不用的query提供好的性能
三 数据安全行隐私和访问: 在不同的DW和BI系统下确保数据的安全。
数据仓库测试的面临的问题
一 缺乏行业标准和方法:正常的OLTP系统我们可以根据软件代码去测试,会有相对应的测试策咯,测试计划,测试案例,以及相对应的脚本。但是对于OLAP DW这样的系统,测很难有相应的解决方案。
1. OLTP看重代码但是BI看重数据质量
2. OLTP系统的数据量不大,但是BI DW有着庞大的数据量
3. OLTP系统的业务需求比较清晰,测试案例比较清楚,但是BI DW没有那么清楚。
4. OLTP系统有成熟的测试系统
二 自动化工具的差别
影响数据仓库质量因素
一 数据完整性
1. Row Count 比较: a. 增量的ETL job b. 错误的ETL 3. 在开发过程中容易丢失的
测试:对每一个表run test case 表容量;(Year, Month, Week)
2. Row Trend 分析:数据总数和历史趋势不一致。 1. source的异常变化 2. ETL job和脚本中的异常update和delete操作。
测试:分析总行数的趋势; 一些重要的列看下趋势还要看下ditnct;最好看下NULL值 (AVG Row count/7 days)(Row count/day)(Trend/3 days)
3. 数据刷新: 数据源的稳定性和失败的job
测试: 检查source和taget运行时间
二 数据一致性
1. ETL 逻辑:数据转换清洗中的准确性 a. 数据源和目标db的不一致 b. 业务逻辑的不正确(add or update a measure, attribute 等等) c. 丢失外键 c 维度表和事实表中重复记录
2. Cube 多位数据集:a. 错误的hierarchy b. measures 不符合业务逻辑 c kpi 逻辑不正确
三 数据的准确性
1. 数据验证: a. 表结构的改变 b. 列长改变引起的不一致 b. 数据类型不正确
2. 业务逻辑的验证: a. 维度表的时效性,一般是由于维度变化引起的。b. 一些小于0%或者>100%的异常 c 一些不期待的负值,d ETL中一些错误的mapping逻辑 e Email地址明显的错误, 年龄,邮政编码等。
3. 用户测试情景:a. 用户query结果和业务不一致 b 不同系统的报表结果不一样