还剩7页未读,继续阅读
文本内容:
数据质量体系结构介绍作者杜绍森编译出处171682022-05-1209:14数据质量管理过程是一个没有终点的过程,也没有统一架构原则这里提供的是一种针对数据仓库项目可以简单实现的、可扩展的、一种相对照较完善的捕捉数据质量事件,同时对其进行量度和控制的方法本文提供一个在数据仓库项目的实施过程中,可增量添加的、可扩展的数据质量体系结构,它可以保证以最小的对前期投资的影响,并增加到存在的数据仓库和数据集成环境中使用这个架构,也可以实现项目系统化的向质量管理体系的扩展这个架构的设计也是针对数据仓库领域缺乏的公开的、一致的说明数据质量的问题来进行组织的有三股力量已将对将数据集成、数据质量的关注呈现在组织管理层优先执行活动中它们是
一、普遍地认为如果仅能看到数据,而无法确定其质量等级,就无法更好的管理的业务的认识,正在持续增长绝大多数的知识工作者相信对自身的工作职能来说,数据是至关重要的
二、绝大多数的全球化的,分布式的组织机构逐步形成共识,集成份散在全球各地的业务数据是企业竞争力的必要因素
三、急剧增长法律符合性的要求也是一个重要的因素仅这三个方面的驱动力,对于强调数据质量的问题显然还并不充分幸运的是,还有一股强大的动力正来自除了部门以外的业务人员业务人员正在逐步的认识到数据质量问题是一个严重的,需要高昂的成本的问题,这样,组织主动性地提供数据质量就有了更大的动力但是,多数的业务人员可能并不能彻底了解数据质量问题产生的原因,找到提高数据质量的方法有时他们认为数据质量问题主要是部门操作层面的问题在这样的情况下,部门就应该更加认识到数据质量问题不可能仅通过部门来单独改善,更需要业务部门的积极、主动参预事实上,数据质量领域一个极端的看法认为数据质量问题几乎和没有任何的关联在关注数据质量时,如果仅仅要求前台的操作人员在输入数据时保持足够的细心,或者要求销售人员在录入定单的客户和产品信息时保持足够的子细显然都是不够的我们还可以通过在数据的录入界面上附加更加严格的技术性约束来避免和修复数据的质量问题这些方法提供了一些修复或者避免数据质量问题的线索,题例如在一个零售银行,身份证号码是空白的或者是填入了一些垃圾信息一个不错的想法是增加一个诸如必须满足的技术限制,系统不接受任何不满足格式约束的输入信息在这种约束下,身份证号码可能再也不为空或者任何字符数据,但前台的数据录入人员就会由于完成后续工作的需要而被强迫录入有效的身份证号码,但在并没有客户有效身份证号码的情况下,他们只好使用了自己的身份证号码建立质量传统、重建运行过程众所周知,如果没有来自组织高层对建立企业范围的数据质量体系的承诺,技术人员说明的数据质量问题尝试往往很难发挥作用在日本,汽车创造商通常将控制数据质量的态度渗透到组织的各个层面,从到一线的生产线人员,从而保证了其准确、高效的决策效率为了说明管理层对建立数据质量文化的重要性,我们使用一个大型的连锁药店作为例子来说明,在这家药店,采购部门和数量庞大的供应商保持合作、供应关系在采购部,采购助理将每一个采供来的药物录入到系统之中,这些信息包含大量的属性这样采购助理会面对巨大的工作量,他们不得不评估一个小时他们可以录入多少的数据,多长期才可以将这些信息录入完毕同时,采购助理也没有清晰的概念,谁将使用那些数据,那些数据对那些使用者更加重要有时,采购助理会由于明显的输入错误受到指责,但更麻烦的情况是,采购助理拿到的数据本身就是不完整或者不可靠的例如对药物的毒性水平,没有规范化的标注,长期以来,不同的药品,不同的品类,这个指标都是各不相同的那末,这个药店应该如何提高数据质量呢这里有一个步骤的数据质量模版,它不仅可以用到这个药店,也可以应用到其他任何一个希翼对数据质量进行管理的组织这个步骤包括•获得来自组织高层对数据质量文化的承诺•在执行层面上,形成保证数据质量的工作流程•对提高数据录入的环境有所投资•提高应用间集成性•提高的团队理解•提升部门间的协作•公开的表彰数据质量提升的事件•提供持续的过程,不断的量度和提升数据质量从上面我们可以看到,在这个药店,需要一些资金用于修改数据数据录入系统,为采购助理提供一些录入时的选择和上下文提示公司的管理层也需要明确地强调采购助理工作的重要性,指明采购助理的工作是公司各个层面决策正确、有效性的基础采购助理的辛勤工作应该受到来自管理层的公开的表彰,并进行奖励从而达到实现团队的互相了解和欣赏在执行层的支持和组织框架就需之后,就需要选用特定的技术方案后面,我们将讨论如何选择、使用恰当的技术来支持数据质量目标这些技术目标包括•早期的诊断和治疗数据质量问题•明确对源系统的需求,集中力量提供更高质量的数据•明确地描述在抽取、转换和加载过程中遇到的数据的错误问题•提供捕捉数据质量问题的框架•提供精确的度量数据质量的框架•为最终的数据提供质量信心度量数据质量探查的角色数据质量探查是一种描述数据上下文、一致性、数据结构的分析技术某种意义上说,当使用对某些字段数据查询时,就在完成一个数据质量探查的工作现在,已经有不少功能强大的工具可以匡助完成数据质量探查的工作普通来说这些工具已经提供了非常方便的接口来匡助用户了解数据和数据间的关系在数据仓库项目中,数据质量探查可以同时在战略和战术的的层面上扮演重要角色在项目开始时,一个数据源确定之后,就需要首先对它进行一次快速的数据质量探查过程来评估数据质量,为是否才用其作为有效的数据源作为策依据理想的情况下,这种战略性的评估应该在,天内完成早期的了解数据、揭示数据的问题是一个负责任的步骤几个月后才进行这项工作,对项目的目标有可能会是致命的从战略的角度决定将这个数据源纳入到项目中后,还需要有一个详细的战术性的数据质量探查来尽可能揭示更多的数据问题在这个阶段揭示的问题最终需要呈现在详细的规格说明中来处理,处理的方式包括将这些数据反馈给源系统,提请修正这些问题或者将这些问题数据的处理融合到过程中我们相信绝大多数的数据问题都可以在这两个过程中揭示出来,并得到解决质量质量是数据仓库架构的心脏,在数据流图中它担负着数据质量医生的作用质量简化了在或者数据迁移过程中测试工作实践如果测试通过,普通不需要记录任何事情但是如果测试失败,必须要完成•将错误事件记录到错误事件主题中,并•选择中止处理过程,将用于恢复的数据放到的暂时存储中或者仅仅标记错误的数据所有的质量在架构上是相似的,参照的分类方式,分为三个简单类型列、结构和业务规则列用于测试单一列中的数据列过程通常比较简单,进行一些比较明显的测试,如某个列包含不希翼的,列值超过了定义的列的精度,或者列值不满足格式的要求结构测试跨列的数据间关系例如列间的层次关系、一对多的关系结构包括测试两个表域间的主外键关系,也包括对邮政地址的整个数据块的测试业务规则实现更加复杂的、不适合列和结构的测试例如客户的可以进行依赖时间的业务规则进行测试如白金卡的常旅客要求至少年,并每年至少万公里的飞行距离业务规则测试也可以进行聚合规则的阕值的测试等错误事件主题模型错误事件主题模型是一个集中式的维主题模型,它用来在保存质量过程中抛出的错误事件这个方法可以方便应用在通常的数据集成应用中在下图可以见到错误事件的模型Emr evertfact ScreeiErrormnt dtUM图错误事件主题模型这个模型的主表是错误事件事实表它的粒度是在或者数据迁移时质量中抛出的错误事件事实表的粒度是事实表纪录内容的物理描述即,每一个质量错误在这表中产生一条记录,表中每一条记录对应一个发现的错误错误事件的主题模型包含的维表包括错误发生的日历日期、和工作维日历日期不是用分秒表示的时间戳信息,而是提供了一种通过通用的日历日期属性对错误事件提供约束和聚合的实用信息,例如工作日、财年的最后一天等这样的描述信息事实表中的列则是一个完整的时间戳,用于精确的描述错误发生的时间这样格式在希翼用时间做一些计算方面是非常有用的,例如计算两次错误发生的时间间隔等维不仅能处理批操作,也可包含持续的操作过程维精确的描述了的标准是什么,当错误发生时我们应当做什么中断处理、发出信息挂起某些操作或者仅仅对数据进行标记等错误事实表包含一个惟一的主键和维表的主键一样,这是一个用整数序列生成的代理键这个键域是非常有必要的,保证大量的错误在一次操作中同时发生时,将其加入到这个事实表之中的时候固然,这种错误情况最好不要发生这个错误事件主题还包含此外一个事实表,以更加详细的粒度纪录这个发生的问题在这个表中的每一条记录标示了数据记录中发生错误的每一个域这样,就可以记录和处理诸如复杂的结构或者业务规则在更高的层面上发生的问题这样的错误有可能在事实表中产生多条记录两个事实表通过域间的主外键关系进行关联这样表就可以从表、记录、域的角度精确的描述发生的问题,同样在这个表中通过主外键关系继承来自高粒度事实表的、、的信息到目前为止,我们已经拥有了一个可以处理复杂的多域、多错误的主题模型错误事件细节表也可以包含精确的时间戳用于提供完整的、精确的描述在一段时间内错误多个纪录的聚合阕值问题响应质量事件从上面,已经注意到对每一个质量都需要有所应对可能的选择包括终止处理过程设置谨防性标志挂起进程用于后续的附加操作标记问题内容,继续后续的处理这三个选项都可能不是的最佳选择中断处理是一个明显的痛苦的选项,中断之后,我们还不得不进行手工的干预、诊断,选择重新启动、从断点处处理或者彻底的结束这次的工作,进行异常恢复选择挂起也不是一个很好的选择,因为没有人清晰什么时间问题可以被修复,甚至是否可以被修复普通的推荐,对很小的数据问题,尽量不要使用挂起的策略第三个选择,标记问题数据继续进行处理往往是比较好的错误事实表的数据在下面的审计维中会有所讨论错误的维数据也可以借鉴审计维的方式,同时为了以防万一,对数据丢失或者产生垃圾数据,也可以用域本身对错误进行标记处理建立审计维审计维和其他维类似,在后台处理中与事实表关联下图是针对ShipmentsFactOrdef_da!e FKShipdale FKDdivery-datevalidationFK ShipjromoutmbouRdsFKShip JoscreenskiledFK ProductrecordmodifiedFK Promotionextradtime stampFKTerms FKcleantime stampI8dorm timestampStatus FKIEU masterversionAudtl_key FKatlocatKra1Ordfrf.num versioncurreficyDD Shipnum versionerrorDO Lme^num eventgroup FKDDnumber1record foreachunits gross.distinct auditdollarsconditiondisarnnt^dollars tecms^doUdfsrevenMe_tollars事实表和与其相关的审计维的例子retufft_dolfars图审计维样例1record forAuditeachshipment上图中是一个典型的事实表,包含一大串的外键用来与维表关联,还有三个用line item标示的退化维和个数字的域这是数据仓库维模型设计中是一个典型的结构审计维包含事实表创建过程的元数据描述数据质量系统的设计人员可以选择在错误发生时,保存获得或者多或者少的元数据记录用上面的例子说明审计维表的产生产生过程假如事实表每天以批操作的方式处理一次今天运行的非常好,没有任何的错误纪录或者标记在这种情况下,只需要在审计表中生成一条审计纪录这样,所有的错误信息对每一条事实记录将是相同的,它的作用仅是表明今天的工作一切正常如果上面的假设不存在,运行进程或者数据往往发生问题,例如,折扣数据有问题,触发了一个错误就需要在审计维表中用一些信息来记录发生的问题,需要考虑如何对错误条件和版本号选择恰当的值,将错误问题的主外键关系进行恰当的关联更多的关于这方面的详细信息请参阅《》在完成最终的审计报告时,看看下面的审计报表,会发现一些可爱的地方如下图Instrumented Reportadd Outof Boundshdicatoc toSELECDProduct ShipFrom Outot BoundsIndicator QtyShipped Reve械Axon EastAbnormal14$2350OK1424East
1232.650West Abnormal675$144,000West OK
15741336.000Product ShipFrom ShippedRevenueAxon East1438S
235.OOOWe$rAxon2219USO.OOO图利用审计维产生的报表图中上测的那个报告看似是个正常的报表但是下面的报表,可以清晰的揭示报告中存在的异常在有审计维的体系结构中,通过一个简单的命令,这些质量审计报表就可以快速地实现应用质量标准借鉴创造业成功的质量管理实践,这些经验在数据仓库的领域也是非常实用的在创造商的世界里,质量实践已经在匡助他们取得了具体、明显的质量进步,甚至将缺陷率降低到百万分之到的水平而错误事件主题模型是一个非常好的基础,可以用来才采用标准来指导数据仓库领域的质量的实践在错误事实主题中记录的所有的错误事件使得我们有机会通过运用特定的机制对质量问题进行监控、评估,用于未来的改善本文中描述的数据质量框架,提供了一种可以以较小的代价,增量的添加到已有的数据仓库和数据集成环境中一旦错误事件主题模型成功地建立之后,我们可以根据实际的环境确定质量实施进度需要完成的就是后面具体的两个工作记录每一次发生的问题决定对特定问题的特定的处理方式错误的实现并不拘泥于特定的技术,可以嵌入自己的代码中,也可以借助于特定的专业化的工具固然,数据质量管理过程是一个没有终点的过程,也没有统一架构原则这里提供的是一种针对数据仓库项目可以简单实现的、可扩展的、一种相对照较完善的捕捉数据质量事件,同时对其进行量度和控制的方法。
个人认证
优秀文档
获得点赞 0