数据质量体系 之 概念- -
数据稽核是实现层面的事情,它可以被看作是一种数据采集过程。数据从数据源到数据仓库,到最终前端展现,就像是黄河泛滥,一发而不可收拾。这就是ETL过程,是流动的,在上游放了好多浮标,流淌到下游,浮标应该还是那些浮标。当然,如果说"不可能两次踏入同样的河",那么也可以认为下游的浮标已经不是上游的浮标。
实现此功能,在技术上要有一个底层的质量架构支持,它实现质量体系中的若干概念,它搭了个骨架,不同项目中的数据准确性测试工作只需要往里面填肉即可。
前面引入一些诸如质量分级、数据表象的概念,这还不够,需要更多的概念。首先介绍一个"ETL单元"的概念,从数据源到数据仓库,到数据展现,通过若干个ETL处理完成。可以将从数据源抽取作为一个单元,当然也可以将数据源经过抽取、转换并装载到目标表作为一个单元,这得视具体ETL的设计而定。然而ETL单元在质量架构中,它就是数据稽核的最小单位。通过把住每个ETL单元的入口、出口,稽核流入和流出的数据。
"稽核",这个词出现了不少次,可它是怎么定义的呢?它是对两组数据进行统计,生成一对或若干对数值的对比操作。它分为总量、分量和标准量稽核。总量稽核是对两组数据进行总数统计值(分组统计)的对比,例如对比数据总量,在比如这两组数据都能统计出一个"总费用"指标。而分量稽核则是对两组数据进行分组统计对比,当然要这两组数据都支持的分组,例如每个地市的费用累计。前面这两种稽核可以为ETL过程建立数据足迹,发现ETL程序、ETL逻辑的错误。
而标准量稽核,则是用一组数据的统计值和标准值对比,例如用报表中本月收入作为标准值,那么从数据中统计得到这个"本月收入"进行对比。当然,现实情况,标准值不好拿到,而且需要录入的,所以在系统交付正常使用后,能不能及时得到这个标准值确实是个问题。但至少,在开发阶段,定义好标准值,用来检验ETL规则的正确性却是有效的方法。
"指标"这个词用的实在有些滥。KPI是关键绩效指标,报表中也有若干指标,有时候将olap中的度量也称为指标。Measure、metric和indicator是三个意义相近,不易区分的单词。原来对于稽核的描述,是想称为"对两组数据进行特定指标的统计,生成一对或若干对数值的对比操作",可因为上面的原因,暂时去掉了"特定指标"。在这个环境下,这个"指标"更加接近度量(Measure)的意思,它体现一种测量。就像拿一把尺子,量量流入的数据,再量量流出的数据。
单个度量不能表明数据质量,需要通过比对才能判定准或不准,基于度量计算误差率,计算比率,规则判断等,可以形成衡量前面提到三种数据表象的指标(又是指标,找不到更合适的词了,用英文,可能metric更加合适一些),包括数值波动、偏离标准、违背逻辑。
引入上面的若干概念,可以总括地对数据质量体系作个描述:
『通过对ETL单元的出入数据定义度量,进行不同类型的稽核操作,生成数据表象指标,基于这些指标实现数据 质量分级。』
下一次说说如何实现这个架构,已经这么多废话。
tbc...