数据质量管理
一、简介
数据质量管理是组织变革管理中一项关键的支撑流程。业务重点的变化、公司的业务整合战略,以及并购与合作,都对IT职能提出了更高要求,包括整合数据源,创建一致的数据副本、交互提供数据或整合数据。与遗留系统或B2B系统实现互操作的目标需要通过数据质量管理项目支持。
数据质量与信息质量是同义词,因为数据质量低下会导致不正确的信息和不良业务绩效。数据清洗也许可以带来短期的、有一定代价的改善,但并不解决数据缺陷的根本原因。如果考虑为提升数据质量和数据完整性提供较为经济的解决方案,实施更加严格的数据质量项目是必要的。
在实际项目中,问题不仅仅包括校正数据,同时还包括管理数据创建、数据转换和数据传输的整个生命周期,从而确保生成的信息满足组织中全部数据消费者的需求。
将数据质量管理和质量提升等流程制度化,取决于识别业务对高质量数据的需求和确定如何度量,监控和报告数据质量的最佳方式。在发现数据处理过程中的问题之后,需要通知相应的数据管理专员采取校正措施以便解决紧急问题,同时,需要采取措施消除问题的根源。
数据质量管理是一个持续的过程,为满足业务需求的数据质量标准制定规格参数,并且保障数据质量能够满足这些标准。数据质量管理包括数据质量分析、识别数据异常和定义业务需求及相关业务规则,还包括在必要的时候对已定义的数据质量规则进行合规性检查和监控的流程,以及数据解析,标准化、清洗和整合。最后,数据质量管理还包括问题跟踪,从而对已定义的数据质量服务水平协议的合规性进行监控。
数据质量管理的关联图如图12.1所示。
二、概念和活动
数据质量预期为定义数据质量框架提供必要的输入。此框架包括定义需求,定义检查策略、定义度量和定义反映数据质量和绩效变化的监控措施。这些需求反映了业务数据预期的3个方面:以一种方式将数据预期记录在业务规则中,以一种方式在该维度上度量数据质量,以及一个可接受度的阈值。
2.1 数据质量管理方法
数据质量管理的一种通用方法是戴明质量环,如图12.2所示。戴明(Derning, w.Edwards)是对质量管理的发展产生巨大影响的大师之一,他提出了被大家所知的“计划-实施-学习-行动”或“计划-实施-检查-行动”用于解决问题的模型,该模型对数据质量管理同样有效。当已定义数据质量水平协议,并将此模型应用于数据质量管理时,它包括:
• 制定数据质量现状评估计划和识别数据质量度量关键指标。
• 实施度量和提升数据质量的流程。
• 监控和度量根据业务预期定义的数据质量水平。
• 执行解决数据质量问题的行动方案,以提升数据质量从而更好地满足业务预期。
一个数据质量管理周期的开始包括识别数据问题,这些问题是达成业务目标的关键问题,包括定义数据质量的业务需求、识别数据质量关键维度以及定义保障高水平数据质量的关键业务规则。
在计划阶段,数据质量团队评估已知的数据问题,包括确定问题的代价和影响以及评估处理该问题的可选方案。
在实施阶段,剖析数据并执行检查和监控,识别出现的数据质量问题。在此阶段,数据质量团队可以修复引致数据错误的流程中存在的缺陷,或者作为一种应急办法对下游错误进行校正。如果不能在错误的源头进行校正,那么就在数据流中尽早校正该错误。
在监控阶段,根据已定义的业务规则对数据质量水平进行动态监控。只要数据质量满足可接受度阙值,流程就是受控的,数据质量水平就可满足业务需求。然而,如果数据质量下降到可接受度阙值之下,需要通知数据管理专员以便他们在下一阶段采取行动。
在行动阶段,主要是处理并解决出现的数据质量问题。
当出现了新的数据集或对已有数据集提出新的数据质量需求时,一个新的数据质量管理周期便开始了。
2.2 开发和提升数据质量意识
提升数据质量意识不仅意味着需确保组织中配备合适的人员了解数据质量问题的存在,而且对于获得组织中利益相关者的必要支持至关重要,这将提升数据质量项目成功的机会。
数据质量意识包括能够将数据质量问题与其实质影响联系起来,向监管者保证系统化的数据质量管理方法和对组织内数据质量的全面洞察,还包括传达一种“数据质量问题不能仅仅依靠技术手段解决”的理念。在初始阶段,可以提供一些数据质量核心概念的培训。
下一步包括为数据质量建立数据治理框架。数据治理是为数据管理的各方面贯彻责任制度的一系列流程和程序,具体在本书第3章已详述。数据质量管理中的数据治理任务包括:
• 让业务合作者参与,与数据质量团队协作并支持数据质量管理项目。
• 识别数据所有权的相关角色和责任,包括数据治理委员会成员和数据管理专员。
• 明确关键数据元素和数据质量管理的职责和责任。
• 识别需要处理的关键数据质量领域和围绕这些关键领域对组织产生的影响。
• 统一跨业务条线使用的公共数据元素,提供明确无歧义的定义、值域范围和数据质量规则。
• 对所度量的数据质量水平进行持续报告。
• 将数据需求分析概念纳入到整个系统开发周期。
• 将高质量数据与个人绩效目标相关联。
最后,可以建立数据质量管理委员会(Data Quality Oversight Board),与各级数据治理角色建立汇报层级关系。数据管理专员负责与业务用户,业务条线甚至特定应用建立联系,他们持续地提倡数据质量意识并监控其所负责的数据资产。数据质量管理委员会对数据质量领域的政策和程序负责,提供以下方向性指导:
• 为数据质量设定优先级。
• 开发并维护数据质量标准。
• 报告企业层面数据质量的度量结果。
• 为促进员工参与提供指导。
• 建立知识共享的沟通机制。
• 开发并应用认证和合规政策。
• 监控和报告绩效。
• 识别改善机会并达成一致意见以报批准。
• 解决变更和冲突。
相关参与者共同定义和普及数据质量战略和框架;开发、完成并批准信息政策,数据质量标准和协议;对业务条线满足业务用户预期需求的水平进行认证。
2.3 定义数据质量需求
数据的质量必须在“适用性”(fitness for use)的背景下被理解。许多应用依赖于满足特定需求的数据,这些需求与成功完成一个业务流程是相关的。这些业务流程执行了一些业务政策,这些政策是在外部或内部制定的,前者如管理法规、行业标准或遵从数据交换格式,后者如市场、销售、佣金、物流等方面的指引规则。数据质量需求通常隐含在这些业务政策之中。对业务政策进行增量的详细评审和定期优化有助于识别信息需求从而制定数据质量规则。
可以根据定义好的数据质量维度来度量数据是否符合“适用性”需求,并生成数据质量指标的报告。增量详细评审的步骤包括:
• 识别与业务政策相关的关键数据集合。
• 确定被识别的数据集合对业务有怎样的影响。
• 评估如何根据一组数据质量维度对数据错误进行分类。
• 详细定义度量数据错误的业务规则。
• 提供一套实施度量流程的方法,从而评估对业务规则的满足情况。
数据质量维度体现了高层次指标度量的特点,可以据此对业务规则进行分类。根据实施的需要,对度量的粒度进行细化,如数据值,数据元素﹑数据记录和数据表。数据质量维度包括:
• 准确性(Accuracy)。数据准确性是指数据准确反映其所建模的“真实世界”实体的程度。通常,度量数据值与一个已确定的正确信息参照源的一致性可以度量准确性,如:将数据值与来自数据库或其他数据表的正确的数据集比较,根据动态计算的数值进行检查,有时可能需要手工检查数值的准确性。
• 完整性(Completeness)。完整性的要求之一是一个数据集的特定属性都被赋予了数值。完整性的另一个要求,是一个数据集的全部行记录都存在。要对一个数据集的不同约束类型的属性应用完整性规则,如:必须有取值的必填属性,有条件可选值的数据元素,以及不适用的属性值。还可以认为完整性包括数据值的可用性和适当性。
• 一致性(Consistency)。一致性是指确保一个数据集的数值与另一个数据集的数值一致。一致性的概念相对宽泛,可以包括来自不同数据集的两个数值不能有冲突,或者在预定义的一系列约束条件内定义一致性。可以将更正式的一致性约束作为一系列定义一致性关系的规则,这些规则可以应用于属性值之间、记录或消息之间或某一属性的全部数值之间。需要注意的是,不能将一致性与准确性或正确性相混绢。一致性可以定义在同一条记录中的一个属性值集合与另一个属性值集合之间(记录级一致性),或定义在不同记录中的一个属性值集合与另一个属性值集合之间(跨记录一致性),还可以定义在同一条记录中但在不同时间点的同一属性值集合之间(时间一致性)。
• 时效性(Currency)。数据时效性是指信息反映其所建模的当前真实世界的程度。数据时效性度量了数据的“新鲜程度”以及在时间变化中的正确程度。可以根据数据元素刷新的频率度量数据的时效性,从而验证数据是最新的。数据时效性规则定义了一个数据值在失效或需要更新之前已经历的“寿命”。
• 精确度(Precision)。精确度是指数据元素的详细程度。数值型数据可以有若干精确数位。例如,对数据取整或截断可能会产生精确度错误。
• 隐私(Privacy)。隐私是指需要对数据进行访问控制和使用监控。一些数据元素需要进行使用或访问限制。
• 合理性(Reasonableness)。使用数据合理性考察与一些特定的运营场景相关的数据一致性。例如,每天的交易数量不能超过过去30天平均交易数量的105%.
• 参照完整性(Referential Integrity)。参照完整性是指满足如下条件:一张表的一个字段对同一张表或另一张表的另一字段引用全部有效。参照完整性要求包括指定当存在外键时,该键所指向的记录真实存在。参照完整性规则还可作为约束规则,防止出现数据重复从而保证每个实体出现且仅出现一次。
• 及时性(Timeliness)。及时性是指对信息可访问性和可用性的时间预期。例如,数据及时性可以体现在,需要信息的时间点与信息准备就绪可用的时间点之差。
• 唯一性(Uniqueness)。唯一性主要体现在一个数据集中,没有实体多余一次出现。满足实体唯一性,说明没有实体出现多余一次,并且每个唯一实体有一个键值且该键值只指向该实体。许多组织都将可控的数据冗余作为更可行的目标。
• 有效性(Validity)。有效性是指数据实例的存储、交换或展现的格式是否与数据值域一致,是否与其他相似的属性值一致。有效性确保了数据值遵从于数据元素的多个属性:数据类型、精度、格式、预定义枚举值、值域范围及存储格式等。为确定可能取值而进行有效性验证不等同于为确定准确取值而进行真实性验证。
2.4 剖析、分析和评估数据质量
定义数据质量指标之前对数据进行评估很关键,可以采用两种方法:自底而上或自顶而下。
对已有数据质量问题进行自底而上的评估包括对数据集的检查和评价。直接数据分析将暴露潜在的数据异常﹐需要引起主题域专家的重视并进行有效性验证和分析。自底而上的方法基于自动流程的处理结果,强调潜在问题,包括出现率分析,重复性分析,跨数据集的依赖关系、“孤儿”数据记录和冗余分析。
然而,如果没有数据消费者的参与评审,潜在的数据异常甚至真实的数据错误可能与业务背景是无关的。在自顶而下的数据质量评估方法中,业务用户参与记录业务流程和关键的数据依赖关系。在此方法中,需要理解业务流程如何使用数据,哪些数据元素对于业务应用的成功至关重要。通过评审被报告、记录和诊断的数据错误类型,数据质量分析师可以评估与数据问题相关的业务影响。
分析步骤包括:
• 确定需要评审的数据集。
• 记录数据集的业务使用方式。
• 使用数据剖析(Data Profiling)工具和技术对数据集进行实验分析。
• 列出全部潜在异常。
• 针对每一个异常。
• 与领域专家一同评审该异常,确定是否为真正的数据错误。
• 评价潜在业务影响。
• 对重要数据异常进行优先级排序,准备定义数据质量指标。此过程的关键在于对数据的各方面进行统计分析,以便评价:
• 记录的填充率。
• 每个数据属性中填充的数值的数量。
• 频繁出现的数值。
• 可能的异常值。
• 同一张表中字段的关系。
• 跨表的关系。
使用这些统计信息可以确定有较大业务影响和适合对其进行持续监控的明确数据问题,这也是持续的数据质量检查和控制的一部分。更为重要的是,在此分析步骤中可能会发现一些重要的商务智能信息。例如,某个异常数据值的出现可能说明一个重要的业务事实,就像设备失效正说明某个供应商可能不合格。
2.5 定义数据质量指标
为了保持指标的有效性,指标定义的过程不能在数据质量管理的最后阶段才进行,而是在数据质量战略/设计和规划阶段就要开始,以便能在组织中实现。
低质量的数据会影响业务目标的达成。数据质量分析师必须找到并使用数据质量指标,并报告缺陷数据与受影响的业务目标之间的关系。定义数据质量指标的过程存在着挑战,需要设计一种方法来识别并管理“业务相关”的信息质量指标。可以将度量数据质量与监控业务活动绩效相类比,数据质量指标应该合理地反映根据前述章节所介绍的数据质量维度所定义的数据质量特性。这些特性包括:
• 可度量性——一个数据质量指标必须可度量并且能够在离散值域范围内量化。需要注意的是,虽然许多事物可以被度量,但不一定能够转化为能够体现业务相关性的指标。
• 业务相关性——如果指标不能与业务运营绩效相关联,指标值的意义就是有限的。因此,对每一个数据质量指标,都应说明满足数据质量可接受度阙值与业务预期的相关性。
• 可接受程度——数据质量维度为数据质量的业务需求提供框架,对数据质量维度进行量化度量为数据质量水平提供了实证,并以可接受程度的阈值为基础,来判断数据质量是否满足业务预期。如果数据质量表现等于或高于可接受程度定义的阙值,数据质量便满足业务预期,否则,需要通知相应的数据管理专员并采取措施。
• 数据认责制度/数据管理制度——当数据质量指标证明数据质量不能满足业务预期时,需要通知相关的岗位角色。业务流程负责人是首要负责人,同时,数据管理专员通常会被安排执行适当的纠错任务。
• 可控性——任何适合作为数据质量指标的可度量的信息特性都应该反映业务领域在某些方面是可控的。换言之,如果数据质量指标值的评估结果反映了不良数据质量,则应对所度量的数据采取相应的改善行动。
• 可跟踪性——-可量化的指标帮助企业度量数据质量的提升。对数据质量的跟踪则帮助数据管理专员监控在数据质量服务水平协议(SLA)范围内的相关活动,并证明数据质量提升活动的有效性。一旦某项信息流程达到稳定,持续的跟踪会使统计控制流程固化,以确保对数据质量持续可预测。
定义数据质量指标的过程可总结为:
• 选择一项重要的业务影响。
• 评估与业务影响相关的数据元素以及数据创建/更新流程。
• 对于每一个数据元素,列出与之相关的数据需求。
• 对于每一项数据需求,定义相关的数据质量维度以及一个或多个业务规则,以便确定数据是否满足需求。
• 对每一个选中的业务规则,描述度量需求满足度的流程(参见12.2.6节)。
• 对于每一个业务规则,定义可接受程度的阈值(参见12.2.6节)。
根据以上过程定义出一系列度量流程,可提供原始数据质量的评分,并可将评分汇总并量化为数据质量需求的满足程度。未达到可接受程度阈值的度量说明不符合数据质量需求,需要采取必要的纠错措施。
2.6 定义数据质量业务规则
需清晰定义检查数据质量是否满足业务规则的流程并监控对这些业务规则的符合度,这需要:
(1)将不满足业务需求的数据值、记录和记录集与有效的数据值、记录、记录集分别记录下来。
(2)生成通知事件,及时向数据资产管理员警示潜在的数据质量问题。
(3)建立自动或事件驱动的缺陷数据纠正机制,以满足业务期望。
第(1)项流程是使用数据期望值。判断数据集是否符合期望值。更复杂的规则可将这些取值和第(2)项与第(3项流程中的行动或指示结合起来,包括当实际数据和要求不符时发出通知,或对出错数据值进行转换。可使用模板来定义这些业务规则,如:
• 值域成员——说明数据项的指定值是从某个定义域中选用的数据值,例如美国邮政编码中用双字符代表“州”。
• 定义一致性——在整个组织的处理活动中,应确认对数据定义的相同理解,这是在组织中正确理解和使用数据的前提。确认包括对要计算字段的算法,包括任何时间或本地的限制条件,以及精度规则等。
• 值域的一致性—一数据项的取值必须满足事先约定的数值、辞典或时间范围,例如大于0且小于100的数值范围。
• 格式一致性—指定数据项的一种或多种格式数据项,如用不同方式来显示电话号码。
• 映射一致性—要求数据项的值需映射到相应的其他同等值域。如,美国“州”数据域再次提供了很好的例子,因为“州”的取值有多种值域(如美国邮政编码,FIPS 2位代码,州全名等),映射规则需反映-AL和-01都映射为阿拉巴马州。
• 取值和记录的完整性——该类规则定义在哪些情况下如果取值有缺失是不可接受的。
• 一致性规则—-是条件性要求,要求以属性的实际值为基础,对照两个(或多个)属性间的关系。
• 精确度验证——将数据值与系统中相应值进行比对,以验证其值的匹配性。
• 唯一性验证——该类规则要求实体须有唯一的代表性,要求有且仅有一条记录与现实世界中的对象相对应。
• 及时性验证—该类规则说明对数据可获得性和可用性的期望。
其他类型的规则可涉及数据汇总的功能。包括验证文件中记录数的合理性,某类交易平均交易金额的合理性或在指定时间段内交易数期望方差的合理性。
提供规则模板有助于建立业务团队和技术团队之间的沟通。规则模板反映了业务的期望。在需要的时候也可将规则模板直接转换成可执行的格式,例如内嵌的规则引擎,或数据分析组件中的数据描述工具,或数据整合工具中的代码。
2.7 测试和验证数据质量需求
数据剖析工具可分析数据并发现如12.3.1节所述潜在的异常数据。也可使用这些工具对规则进行验证。在数据质量评估阶段识别或定义的规则,将作为业务流程的一部分用以验证数据的合规性。
大多数数据剖析工具均支持数据分析师定义规则,这些规则用于数据验证、评估频率分布和相应的度量,再将这些定义规则应用于整个数据集。
审阅数据剖析结果、验证标记为不一致的数据是否真的不正确等工作均提供了一定程度的测试。此外,有必要与业务用户共同审阅所定义的业务规则,以确保业务用户理解这些规则,并确认业务规则与其业务需求-致。
基于数据规则符合度为识别数据质量水平特征提供了数据质量测量的客观依据。通过定义数据规则来主动验证数据,组织可以区分哪些记录达到所期望的数据质量要求,哪些不符合。同时,这些数据规则可用于为当前数据质量水平制定基线﹐从而可以与数据质量的动态审计结果相比较。
2.8 确定与评估数据质量服务水平
通过数据质量检查和监控来测量和监控数据项对数据质量规则的符合度。数据质量的服务水平协议(SLA)定义机构对响应和支持的期望。数据质量检查有助于减少错误数量。人们期望操作规程在隔离缺陷数据并分析根源的同时,能够提供在预先设定的时间期限内纠正错误根源的机制。
建立数据质量检查和监控机制可以极大地提高识别和纠正数据质量问题的可能性,从而避免对业务的重大冲击。
在数据质量服务水平协议中定义的日常数据质量控制包括:
• 协议涉及的数据项范围。
• 与各数据项关联的数据质量维度。
• 价值链中各应用或源系统对数据项的数据质量需求。
• 针对数据质量需求进行的各种度量方法。
• 各项测量的可接受阈值。
• 当达不到可接受阙值时应通知的相关人员,以及期望解决或改进问题的时间和期限。
• 上报机制和问题解决后的奖惩方案。
数据质量服务水平协议还定义与日常数据质量流程相关的角色和职责。数据质量流程提供数据符合数据质量业务规则情况的报告,并监控人员响应数据质量事故的绩效。数据管理专员和数据质量日常管理人员在坚持数据质量服务水平时,应考虑数据质量服务水平协议的约束并将数据质量与个人的绩效计划相挂钩。
当问题不能在规定时间内响应时,必须有进一步的上报机制以向管理层报告未能达到的服务水平。数据质量SLA应规定启动上报机制时通知发出的时限和需上报的管理层人员姓名等。通过确定数据质量业务规则,测量符合度的方法,并与业务用户共同定义可接受阈值和服务水平协议,数据质量团队就可以来监控数据质量业务预期的满足程度以及数据质量管理团队在处理相关数据问题时的绩效表现。
2.9 持续测量和监控数据质量
数据质量管理的操作流程取决于可用的数据质量测量和监控服务。对于数据质量是否符合业务规则,有两条控制和测量的脉络:流动式(in-stream)和批量(batch)。相应地,测量可应用于3种粒度﹐即数据值,数据实例或记录,数据集,这样组成了6种可能的测量方案。在数据创建时进行流动式测量,对永久存储的数据集中的数据记录进行批量测量。
将数据质量控制和测量流程嵌入到信息处理流中可实现持续性的监控。由于数据质量的测量需要针对整个数据集进行,因此对数据集的数据质量测量通常不太可能通过流动方式实现。唯一的流动点是在不同处理阶段间隙进行整个数据集交互的时候。使用表12.1中的详细技术定义数据质量业务规则。将控制和测量结果纳入操作程序和报告框架,确保对数据质量水平进行持续监控。
2.10 管理数据质量问题
数据质量服务水平协议的有效实施需要建立数据质量事件解决报告与跟踪机制。数据质量事件报告系统可提供这种能力。它可以记录数据质量事件的评估、初步诊断和后续行动等信息。数据质量事件跟踪还可提供绩效报告数据,包括问题解决平均时间,问题发生频率,问题类型,问题来源以及纠正或消除问题的常规做法。一个好的问题跟踪系统将支持查看当前和历史数据质量问题,问题状态和需其他人员参与解决问题的因素。
许多组织已建立了用于跟踪和管理软硬件及网络等问题的事件报告系统。要扩展到数据质量事件报告需将数据质量问题归类纳人到事件目录中。数据质量事件的跟踪还要重点培训人员识别所出现的问题,以及如何分类,记录并依据数据质量服务水平协议进行跟踪。这些步骤涉及部分或所有以下领域。
• 将数据质量问题和活动标准化~—由于用来描述数据问题的术语可能随业务条线不同而不同,故将所用概念标准化是极具价值的,它能简化分类和报告。标准化也会简化问题和活动的数量统计,系统与参与方之间的模式识别,以及数据质量行动的影响报告。对问题的分类可能会随着调查的深人和根源的暴露而发生变化。
• 指定数据问题的处理过程——日常操作程序将指导分析师将数据质量事故的诊断和制定解决方案工作分配给相关人员。这一分配流程应在事件跟踪系统中驱动,并能够向分析师建议具备专门知识领域的适当人选。
• 管理问题上报程序——数据质量问题处理需基于对事件的影响、持续时间、问题紧迫性等确定清晰的上报体系。上报顺序应在数据质量服务水平协议中定义。事件跟踪系统将执行上报程序,这将有助于数据问题的高效处理和解决。
• 管理数据质量解决流程一—数据质量服务水平协议规定了监测、控制和解决的目标,所有这些定义了整体的业务流程。事件跟踪系统可支持工作流管理,跟踪问题诊断和解决的进展情况。
实施数据质量问题跟踪系统有很多好处。首先,信息和知识共享可提高性能并减少重复工作。其次,对所有问题的分析将帮助数据质量小组成员识别重复模式,发生频率和潜在问题根源。运用问题跟踪系统,可训练相关人员及早在信息流中识别出数据问题,并支持他们的日常操作。问题跟踪系统的原始数据可用于生成有关服务水平协议条件和指标的报告。根据数据质量的治理要求,考虑奖惩制度的实施,服务水平协议报告可以按月、按季或按年进行。
2.11 清洗和校正数据质量缺陷
通过定义业务规则来监控数据对业务期望的满足度将引人两项活动:首先,确定和消除错误发生的根本原因;其次,分离出不正确的数据项,并采用适当措施使其符合预期。某些情况下,只需简单地废除错误结果,并从出错点重新启动信息流程。其他情况下,当直接废除结果是不可能时,就需要纠正错误。一般采用如下3种方式进行数据校正。
• 自动校正—参照数据质量要求,运用基于规则的标准化,范式化和纠正等综合措施,对数据进行数据清洗技术处理。无须人工千预便可提供修正后的值。例如地址自动更正,将送货地址输人地址标准器中,使用规则,解析、标准化、参照表、范式化处理等方式进行比对和修正送货地址。在具有良好定义的标准、普遍接受的规则和已知的错误模式环境中,最适于进行自动清洗和校正。
• 人工指导校正-—使用自动化工具来清洗和校正数据,在校正结果提交永久存储前由人工审核。例如姓名和地址清理、身份解析、基于模式的自动修正和评分机制等均可用于达到一定置信水平的校正结果。对超过特定置信分数水平的校正结果有可能不需评审,但对低于置信度分数的校正则需提交数据管理专员进行评审和批准。执行所有已认可的校正,对未认可的校正措施进行评审以了解是否要调整所用的基本规则。对于敏感数据需要人工审核的情况,适于运用人工指导校正。
• 人工校正——-由数据管理专员检查无效的记录,确定正确的取值,进行校正,提交并更新记录。
2.12 设计并实施数据质量管理操作程序
采用预定义的规则进行数据质量验证,提供了将数据监控与主动数据质量管理日常操作流程相融合的方式。将数据质量规则整合到应用服务或数据服务中,并通过引人数据质量工具和技术,使用规则引擎和报告工具对数据进行监控和报告,或客户化开发数据质量检查应用,来补充数据生命周期的内容。
该操作框架需要将这些服务应用于具体的应用和数据服务,并将结果提交给数据质量团队成员。数据质量运行团队成员应负责4项活动,团队必须设计和执行这些活动的详细程序。
(1)检查和监控:通过自动化处理或人工处理,对全部数据进行扫描或抽样检测,从而测量数据集对数据质量规则的满足程度。使用数据剖析工具、数据分析器,数据标准化和识别工具来提供检查服务。收集结果并将其提供给数据质量分析师,分析师必须做到:
• 审核测量方法和相关指标。
• 确认任何未满足可接受阈值的情况。
• 新建数据质量事故报告。
• 为数据质量事件诊断和评估分配数据分析师。
(2)诊断和评估补救办法:目标是评审数据质量事件所反映的问题、跟踪错误数据的血缘关系、诊断问题的类型及其起源、确定问题的潜在根源。该程序也应该描述数据分析师如何:
• 审核信息处理流中的数据问题,并跟踪错误发生的源头,隔离处理流中发生缺陷的位置。
• 评估环境是否有任何可能导致数据错误的变化。
• 评估是否有任何其他进程问题,这些问题可能导致数据质量事故。
·确定是否存在其他流程问题影响了数据质量。
• 评估处理问题的可选方案,包括对系统的修改以消除问题根源,引人更多的检查和监控,直接校正有缺陷的数据,或根据数据校正的收入成本分析结果而不作校正处理。
• 将更新情况输入到数据质量事件跟踪系统。
(3)解决问题:当提供多种问题方案时,数据质量团队应要求业务数据所有者选择其中一种解决方案。
这些程序详细说明分析师将如何操作:
• 评估相关成本和各方案的优劣。
• 推荐一种选择方案。
• 提供一套用于开发和执行解决方案的计划,其中包括修正流程和纠正缺陷数据。
• 执行该解决方案。
• 将更新情况输入到数据质量事件跟踪系统。
(4)报告:为保证数据质量管理过程的透明度,应该对过程的运行情况进行定期报告。数据质量运营团队负责开发和发布这些报告,其中包括:
• 数据质量记分卡,提供各种指标结果的高阶视图,通常报送给组织的不同管理层级。
• 数据质量趋势,反映所测数据质量随时间推移的情况,衡量质量指标水平是否出现上升或下降趋势。
• 数据质量绩效表现,它反映了数据质量管理员响应数据质量事件,诊断和及时解决问题的情况。
• 报告尽可能地依据数据质量服务水平协议中的指标体系和测量方法进行,使得影响数据质量服务水平的重要领域都能在内部报告中得到一定程度的反映。
2.13 监控数据质量管理操作程序和绩效
责任制是监控数据质量治理协议的关键。所有问题必须指定给专人,团队、部门或组织负责。跟踪流程应明确并以文件规定最终的问题责任人,以防推诿。由于数据质量服务水平协议明确了评估数据质量团队绩效的标准,因此可以合理地预估事件跟踪系统能收集绩效数据,包括问题解决、工作分配、问题数量,发生频率、响应时间、诊断时间,解决方案计划时间和解决问题时间等。这些绩效数据可对目前的工作流程效果、系统和资源使用情况提供有价值的见解,同时,也是驱动数据质量控制流程提供持续改进的重要管理数据点。
三、数据质量工具
数据质量管理会涉及很多有用的工具和技术。这些工具既包括专注于数据分析从而提供数据质量的经验评估,也包括专注于按既定的业务规则对数据值进行正常化处理,还包括用于识别和解决冗余记录并定义定期检查和变更规则的工具。数据质量工具可以按活动分成4类:分析、清洗、改善和监控。所用的主要工具包括数据剖析工具、解析和标准化工具、数据转换工具、身份解析和匹配工具、改善和报告工具等。一些厂商将这些功能完整地捆绑到数据质量解决方案中。
3.1 数据剖析
在进行任何数据质量提升活动前,首先要能够区分数据的好与坏。数据质量优劣的评定是一个分析和发现的过程。剖析涉及通过定量检测和分析审阅来对数据值进行客观的审核。数据分析师未必能发现所有的数据问题实例。然而,将疑似不良的数据实例记人文件的能力提供了与相关专家进行交流的手段,使其能够运用业务知识确认是否存在数据问题。
数据剖析是一系列的算法,主要有两种目的:
• 对数据集进行统计分析和数据质量评估。
• 识别数据集内和集之间的值所存在的关系。
对于某张表格中的各列,数据剖析工具可提供不同值的分布情况,从而洞察各列的类型和使用情况。此外,列分析可得出每列值的关键特征,如最小值、最大值和均值等。
跨列分析可看出内部值的关联性,跨表分析可识别代表实体间的外键关系的重合值。这样,数据剖析可以识别和评估数据的异常。大多数数据剖析工具还支持通过向下钻取对数据进一步调查分析。
数据剖析还可针对定义(或发现)的业务规则进行主动性测试。测试结果可用来区分哪些记录符合定义的数据质量要求,哪些不符合要求;这反过来又可促进基线测量和持续审计,并支持数据质量报告流程。
3.2 解析和标准化
数据解析工具使数据分析师能定义符合规则引擎的模式( pattern)集,用来区分有效和无效的数据值。行动由具体的模式匹配触发。在解析一个有效模式时,系统提取并重新排列独立组件(通常称为标识符Tokens),形成标准形式。当识别出无效模式时,应用可能会尝试将无效值转换成一个符合要求的值。
许多数据质量问题表现为一类情况,即当数据值表示略有差异时就会产生混淆或歧义。此时解析和标准化数据值就很有价值。例如,电话号码可以有多种排序方法:有的是数字,有的是字母字符,而且全部都用不同的特殊字符进行分隔。但是人们仍识别出每个电话号码。然而,为了确定这些数字是否准确(如将其与主客户目录进行比对)或检查是否存在重复号码,而实际上每个供应商只对应于一个号码,这些值必须能被解析成组件(如区号,交换号和分机号),再转化成标准格式。
人类识别熟悉模式的能力有助于我们定义属于相同的数值抽象类的不同数据值的特征;人们遵循常用模式就能识别出不同类型的电话号码,因为这些号码遵从于一些常用的模式。分析师描述多种格式模式,这些模式都代表着同一类数据对象,如姓名、产品说明等。数据值应符合这些模式中的一种,数据质量工具对数据值进行解析,甚至将其转化为单一的、标准化的形式,以简化评估相似性分析和清洗流程。基于模式的解析能对有意义值的部分进行自动识别并在后续做标准化处理。
3.3 数据转换
识别到数据错误时,触发数据规则,将错误数据转换成一种目标架构可接受的格式。工程师通过数据整合工具直接运用这些规则,或依靠嵌入式和替代式技术解决问题。通过将源系统的数据映射到对应的目标模式来实现标准化。例如客户名称,因为名称可能有数千种不同形式的表示。良好的标准化工具能够解析客户名称的不同部分,如名字、中间名、姓、首字母缩写、职位、辈分指代,然后重新整理成其他数据服务能够处理的规范格式。
数据转换建立在这些标准化技术上。基于规则的转换将数据值从它们原来的格式和模式映射为目标格式。模式解析组件再进行重排,校正或基于业务规则进行相应更改。事实上,标准化是转换的特殊形式,随着时间的积累获取上下文、语言、俗语等方面的规则,通过反复的规则分析或运用软件工具进行分析处理。
3.4 身份识别和匹配
在身份识别过程中需要使用记录关联与匹配方法,也会运用冗余分析与消除中所使用的相似度评估方法、合并/清除方法、存储方法,数据改善方法、清洗方法,并会实施客户数据整合或主数据管理等战略性数据管理举措。常见的数据质量问题涉及一枚硬币的两面:
• 多个数据实例实际上指的是现实世界的同一个实体。
• 分析师或应用程序认为代表真实世界实体的记录并不存在,但其事实上是存在的。在第一种情况中,将类似的,但略有差异的数值表现形式导入了系统。在第二种情况中,表现形式的轻微变化就会影响对数据集的现有记录进行完全匹配的识别。
这些情况都能通过所谓的相似性分析过程得到解决,具体是对任何两个记录的属性值根据加权相似度进行计分。如果得分超过指定的阈值,则这两个记录就是一对匹配数据,并告知最终客户它们很可能代表相同的实体。通过相似性分析可揭示轻微的区别,建立数据值的关联,继而进行整合。
将每条记录与所有其他记录进行比较,从而提供相似度分值的想法不仅过于激进,而且费时很多,对计算要求很高。大多数数据质量工具套件使用高级运算方法来截取最有可能含有匹配关系的记录,将其分成更小的集合,再采取不同的方法来测量其相似性。在同一数据集中识别相似记录,可能意味着一些记录是冗余的,可能需要清洗或消除。在不同数据集间识别相似记录可以建立数据集之间的链接,进而有助于数据清洗、知识积累和逆向工程—所有这些都有助于主数据汇总。
两种匹配的基本方法是确定式(Deterministic)和或然式(Probabilistic)。确定式匹配(如解析和标准化),依靠确定的模式和规则,按照指定的权重计算相似度的分值。另一方面,或然式匹配依赖于统计技术来评估任何一对记录代表相同实体的可能性。确定式算法是可预测的,因为其模式匹配和规则应用总会产生相同的匹配结果。实施效果与匹配规则的多样性,数量和顺序相关。确定式匹配通常显示出相对良好的实施效果,但它不会超出业务规则开发人员的预期。
或然式匹配依赖于训练数据的采样能力,训练是需要观察全部记录的一个子集的预期结果,再进行匹配器调优,实现匹配器基于统计结果的自我调整。这些匹配器不依赖于规则,故结果可能是不确定的。然而﹐由于可以在经验基础上对或然性做优化,随着分析数据的增多,或然式匹配器可以将其匹配精度逐步提升。
3.5 改善
提升数据质量可增加一个组织的数据价值。数据改善是一种提升价值的方法,它通过积累基本实体集的各种附加信息,并合并所有相关信息以提供集中的数据视图来实现。数据改善是一种从可选数据源智能化增强数据的处理,它运用了其他数据质量工具中获得的知识副产品,如解析、身份识别和数据清洗。
数据解析为数据实例划分出特征数据值,这些特征有助于决定哪些潜在数据来源可以提供附加收益。举例来说,如果可以确定“企业名称”嵌入在名为“名称”的属性,就可标记该数据值为一个企业。运用类似的方法可将数据值组织成语义层次结构。
数据清洗和标准化过程中获得的附加信息可用于为以后的数据匹配、记录关联和身份识别等提供附加建议。通过创建“元上下文背景"(Meta-context),可以形成数据的关联表示通过增加数据的细节信息,可以收集到更多有关实质内容的知识,而不仅仅是信息结构。通过关联表示可以推导出数据的更多内容,从而有更多的信息用于改善数据。以下是数据改进的例子。
• 时间/日期截种改进数据的方法是将数据项被创建、修改、停用的时间和日期记录下来,以助于跟踪数据事件历史。
• 审计信息——审计会记录数据的关联信息,这对历史追踪和验证都很重要。
• 背景信息—位置、环境、获取方法等业务背景信息都是扩展数据内容的实例。增强背景信息还包括标记对下游评审和分析的数据记录。
• 地理信息一—很多提升地理信息的方法,如地址标准化和地理编码,其中包括地区编码,所属城市,周边地标,纬度/经度数据对或其他基于位置的数据。
• 人口信息-—对客户数据,有很多方法可提升人口统计学信息,如客户年龄、婚姻状况、性别、收入,民族代码,或对经营实体提升年收入、员工人数、办公面积等数据。
• 心理信息—--可通过增强此类信息来实现根据特定行为对目标群体分类,如产品和品牌偏好、会员制、休闲活动,度假喜好、上下班交通方式和购物时间偏好等。
3.6 报告
应建立良好的报告制度来检查和监控数据满足数据质量期望的情况,监控数据管理专员的业绩是否符合数据质量服务水平协议,报告数据质量事件的工作流处理、数据的人工清洗和校正活动等。最理想的是有一个用户界面来报告数据质量测量、指标和活动的相关结果。将标准报表、记分卡和仪表板等与可视化和自动报告技术相结合是很明智的,系统还应能提供任何数据质量工具均应具备的即席查询功能。
四、综述
在组织中实施数据质量管理的指导原则、每一个数据质量管理活动相关角色的总结表,以及在数据质量管理中可能出现的组织和文化问题,总结如下。
4.1 指导原则
在构建数据质量管理体系时,应提出一系列指导原则,以构成本章所描述的各类处理程序和使用技术。任何支持数据质量的实践活动均需和一项或多项指导原则相结合。每个组织都不同,其激励因素也不同。一些可能用于数据质量的指导原则包括:
• 将数据当作组织的核心资产来管理,许多企业甚至将数据作为资产列入其资产负债表中。
• 所有数据项都有标准化的数据定义,数据类型和可接受值域。
• 运用数据治理来控制和确保数据质量管理的效果。
• 尽可能使用行业和国际数据标准。
• 下游数据消费者确定数据质量需求。
• 定义适当的业务规则来确保数据符合数据质量要求。
• 根据业务规则来验证数据实例和数据集。
• 业务流程拥有者需认可并遵守数据质量服务水平协议。
• 如有可能,从源头进行数据校正。
• 如无法在源头纠正数据,应尽可能将数据校正需求发给数据源头的拥有者,因为要求数据中介(Data Brokers)符合本地需求的是不太现实的。
• 将数据质量测量报告提交给适当的数据管理专员、业务流程拥有者以及服务水平协议管理者。
• 确定所有数据项的“可信数据源”(Gold Record)。
4.2 过程总结
数据质量管理职能的过程总结如表12.2所示。表中列举了数据质量管理每一项活动的交付物、负责角色、批准角色和贡献角色。此表也在附录A.9中体现。
4.3 组织和文化问题
Q1:如果有多个进程将数据转变成信息,再将信息转换为商务智能时,是否真的需要高质量数据?
商务智能价值链表明:数据资源的质量直接影响组织的业务目标。
价值链的基础是数据资源。信息是通过信息工程从数据资源生产得到,和使用原材料制造商品一样。组织中的知识工作者使用信息,并提供管理该组织所需的商务智能。商务智能用来支持业务战略,从而实现业务目标。通过商务智能价值链,数据的质量直接影响到如何成功地实现业务目标。因此,对质量的强调必须放在数据资源上,而不是在信息处理和商务智能流程上。
Q2:数据质量真的可以免费获得吗?
回顾一下热力学第二定律,数据资源是一个开放的系统。嫡在没有任何限制时会继续增加,这也意味着若无任何限制措施,数据资源质量将继续下降。为创造和维护一个高质量的数据资源,必须消耗能量,而能源是有代价的。无论是初始数据资源质量还是数据资源质量的维护都需付出相应成本。因此,获取数据质量不是免费的。
但在初始阶段就建立数据资源的质量控制措施,其成本就比其后建立数据质量控制措施要低。同样,在数据资源生命周期中维护数据质量的成本低于通过一些关键步骤来改进数据质量的成本。当数据资源质量持续恶化,要改进数据质量的代价就变得更为昂贵,而且会对业务产生更重大的影响。因此,质量不是免费的,但将其内建于整个数据生命周期中并持续维护的成本相对较低。所以,当人们说数据质量是免费时,大多数人的意思是,从初始就维护数据质量的成本/效益比远小于放任数据质量恶化的成本/效益比。
Q3:数据质量问题是随着技术的不断发展最近才出现的新事物吗?
不是的。数据质量问题一直存在,甚至早在使用80列卡的时代就存在。但随着数据量的增加和数据老化,数据质量问题越来越严重。同样,随着数据加工技术变得日益强大,且覆盖数据范围日益广泛,该问题也就日趋明显。
在昨天孤立系统中似乎显得质量较高的数据,一旦与今天跨组织范围内的分析处理相结合时,其低质量的特点就显现出来。每个期望既有效率又有效益地利用数据来支持其业务的组织,都应该建立起数据质量意识。任何认为数据质量是个短期问题,可拖延到以后再考虑的组织,其实都是在冒企业生死存亡的风险。目前的经济环境还未到可以忽略其数据质量,用公司的生存机会来试验的时候。
Q4:在确保数据质量方面,是否有一件事件是最重要的?
最重要的是建立一个单一的企业级数据架构,并在此基础上建立和维护所有的数据。单一的企业级数据架构并不意味着所有数据都存储在一个中央存储库中。仅表明所有的数据开发和管理都在单一的企业级数据架构结构中进行。可根据需要的操作效率来部署数据。
一旦某个组织允许数据在多个数据架构中开发,或更糟糕的是没有任何数据架构,就会导致巨大的数据质量问题。即使试图协调多个数据架构,也仍会存在大量的数据质量问题。因此,最重要的是在单一的企业级数据架构内管理企业所有数据。
文末说明:参考书籍来自《DAMA数据管理知识体系指南》