数据质量体系结构介绍
数据质量管理过程是一个没有终点的过程,也没有统一架构原则。这里提供的是一种针对数据仓库项目可以简单实现的、可扩展的、一种相对比较完善的捕捉数据质量事件,同时对其进行量度和控制的方法。
4. 错误事件主题模型
错误事件主题模型是一个集中式的维主题模型,它用来在保存质量Screens过程中抛出的错误事件。这个方法可以方便应用在通常的数据集成应用中。在下图可以见到错误事件的ER模型:
图1: 错误事件主题模型
这个模型的主表是错误事件事实表。它的粒度是在ETL或数据迁移时质量Screens中抛出的错误事件。事实表的粒度是事实表纪录内容的物理描述。即,每一个质量Screen错误在这表中产生一条记录,表中每一条记录对应一个发现的错误。
错误事件的主题模型包含的维表包括错误发生的日历日期、Screen和Batch工作维。日历日期不是用分秒表示的时间戳信息,而是提供了一种通过通用的日历日期属性对错误事件提供约束和聚合的有用信息,例如:工作日、财年的最后一天等这样的描述信息。事实表中的Time-of-day列则是一个完整的时间戳,用于精确的描述错误发生的时间。这样格式在希望用时间做一些计算方面是非常有用的,例如计算两次错误发生的时间间隔等。
Batch维不仅能处理批操作,也可包含持续的操作过程。Screen维精确的描述了Screen的标准是什么,当错误发生时我们应当做什么?(中断处理、发出信息挂起某些操作或者仅仅对数据进行标记等)。
错误事实表包含一个唯一的主键Error Event Key。和维表的主键一样,这是一个用整数序列生成的代理键。这个键域是非常有必要的,保证大量的错误在一次操作中同时发生时,将其加入到这个事实表当中的时候。当然,这种错误情况最好不要发生。
这个错误事件主题还包含另外一个事实表,以更加详细的粒度纪录这个发生的问题。在这个表中的每一条记录标示了数据记录中发生错误的每一个域。这样,就可以记录和处理诸如复杂的结构或者业务规则在更高的层面上发生的问题。这样的错误有可能在Event Detail 事实表中产生多条记录。两个事实表通过Error event域间的主外键关系进行关联。这样Error Event Detail表就可以从表、记录、域的角度精确的描述发生的问题,同样在这个表中通过主外键关系继承来自高粒度事实表的Date、Screen、Batch的信息。到目前为止,我们已经拥有了一个可以处理复杂的多域、多错误的主题模型。
错误事件细节表也可以包含精确的时间戳用于提供完整的、精确的描述在一段时间内错误多个纪录的聚合阕值问题。

