数据质量的影响
在公司开始数据之旅时,只需将应用程序数据加载到数据库中即可提供有价值的信息。然而,数据驱动决策的目的是减少不确定性。如果数据质量低,这可能会带来额外的风险并导致负面结果。根据Gartner 2021 年的一项调查,具体而言,数据质量问题每年给组织造成约 1290 万美元的损失。
除了决策制定之外,被动检测和修复数据问题也会占用大量开发人员资源。具体来说,2022 年对 300 名数据专业人士进行的韦克菲尔德研究调查强调,业务利益相关者通常会在数据团队发现错误数据之前受到影响。此外,该调查概述了数据团队每月花费 793 小时来解决与数据质量相关的问题。这在两个维度上都是负面的。首先,团队花费大量精力来解决问题。其次,利益相关者对所产生数据的质量失去信任。
此外,有许多不同的方法可以主动管理数据质量。本简介的其余部分概述了关键技术和方法,以确保数据始终符合标准并符合预期的语义。此外,这些策略可确保尽早检测到大多数错误,并迅速了解任何延迟检测到的问题的范围。
数据管道合同
定义数据集的核心要求可以为该数据集的生产者和消费者带来清晰度。这些数据应该什么时候到达?应该有多新鲜?对列边界有什么期望吗?是否需要与数据仓库中的其他表保持一致?
这些只是应该探索的几个问题,以便产生数据的团队和下游消费者之间的期望保持一致。简而言之,更好的数据质量实践的第一步是声明特定用例的数据集究竟应该是什么样子。
重要的是,围绕一组特定表格的严谨程度应与审计执行成本和这些主题提供的分析价值挂钩。例如,与存储在分布式对象存储数据湖中的探索性数据集相比,流入昂贵的高性能数据库用于监管报告的数据需要更多的质量保证。
数据可观察性
改善数据质量实践的旅程始于查看个人工作。但是,在改进数据治理时也可以利用用于降低业务决策风险的类似技术。不是着眼于单一的工作,而是使用基于系统的持续方法来提供必要的背景。一项全面的跨组织战略将揭示在查看单一职位时并不明显的问题。
特别是,数据可观察性是强调数据系统健康状况全面概览的术语。一种更全面的方法将准备状态从被动转变为主动。主动的立场限制了引入错误时所需的补救范围——它还减少了数据工程师追踪特定故障来源所花费的时间。
什么是数据质量?
在为数据质量计划制定方法之前,定义讨论数据质量的确切含义是很有帮助的。本节将澄清术语并提供示例,使术语“数据质量”更加具体。简而言之,数据质量规定了生产者和消费者同意数据集必须符合的属性,以推动准确、及时的下游分析。
数据质量作为契约
上述要求的结合构成了数据管道中各方之间的契约。这可能表现为它是由生产者明确强制执行的,或者它可能是用户隐含的一组期望。为了更清楚地说明这种关系,下面概述了四种类型的数据标准:
正确性是指确保数据的列值符合预期的域。它本质上是在回答这个问题:应用业务计算时,数据是否会产生正确的答案?
完整性检查确保数据包含给定数据集预期的所有内容。是否收到了预期的数据量,所有列是否都填充了必要的信息?
根据用法,一致性可能有几种不同的含义。在这种情况下,它关注表中的数据是否与生态系统中其他地方的相关表中存在的数据相匹配。
及时性是关键。某些分析要求数据在生成数据的事件后的特定时间段内是最新的。
对数据集语义的共同理解
一个关键目标是使数据源和下游依赖项之间的期望保持一致。数据质量是这些协议的编纂。为了成功实施,应将所有权推给具有最佳理解和参考框架的团队。
指标定义所有权
通常,产品团队对于他们的数据将如何用于下游分析并没有很强的直觉。因此,他们不能是数据质量指标定义的唯一所有者。必须就应用程序可能产生的内容以及利益相关者在其报告中创建可操作结果所需的属性进行协商。
生产者约束和消费者要求
通常,生产者为来自其应用程序的完整且正确的数据集定义规则。生产者的典型问题如下:
给定特定作业的历史行数是否存在合理的数据量?
所有列值是否按预期填充?(例如,没有意外的空值)
列值是否在预期范围内?
数据是否以适当的节奏提交?
生产者约束和消费者要求
图 1:生产者约束和消费者要求
消费者的需求与数据的实际使用紧密相关。典型问题如下:
完整的数据是否及时到达以发布报告?
列值在事实和维度之间是否具有参照完整性?
业务计算是否产生预期范围内的结果?
促进数据标准的框架
数据质量框架成功地提供了一种系统的数据质量方法。一种全面的方法可指导数据工程师采用最佳实践,并确保在整个生态系统中始终如一地应用严格的方法。
审计
数据审计是数据标准框架的核心部分,并公开有关数据集是否符合商定属性的低级信息。有几种类型的审计和应用它们的方法。
审核类型
以下是常见数据质量审计的简要概述:
范围内的行数
范围内列的空计数
域内的列值
引用完整性检查
列值之间的关系
Sum 产生非零值
此外,关于什么可以被定义为审计存在无限的可能性,但它们都归结为回答这个问题:内容是否符合生产者打算发送的内容和消费者期望收到的内容?在创建审计时,数据所有者必须认识到收集审计的成本与通过检查会带来的信心增加之间的权衡。
审计也可能是阻塞的或非阻塞的。阻止审计阻止失败的数据管道继续进行,直到应用更正。相反,非阻塞审计会提醒管道所有者出现故障并允许管道继续进行。理想情况下,每个消费者都将确定哪些审计针对他们的特定用例是阻塞/非阻塞的。探索性用例甚至可以在没有质量保证的情况下针对尚未审计的数据轻松执行。
编写-审核-发布
Write-Audit-Publish (WAP) 是一种模式,其中所有数据首先写入数据库中的暂存位置,并且必须在提交对读者可见之前通过所有阻塞审计。通常,这是通过数据库中的特殊功能或通过交换表或视图来实现的。
WAP 模式工作流程
图 2:WAP 模式工作流程
具体来说,WAP 确保不存在消费者无意中读取尚未验证的数据的竞争条件。必须采取主动行动来读取未经审计的数据,并且这必须是读者有意识的决定。
综合审计
某些数据库引擎支持的 WAP 变体是集成审计的概念。写入数据的作业可以指定预期的列值或值范围。然后引擎将验证所有正在写入的行是否符合这些预期,否则写入将失败。
整治
当错误被引入系统时会发生什么?根据引言中引用的 2022 年韦克菲尔德研究调查,大多数受访者表示需要四个小时或更长时间才能检测到数据问题。此外,超过一半的人回答说补救平均需要九个小时。稳健的数据质量策略的目标是减少这两个指标。
问题检测
首先,对数据管道依赖图的全面审计减少了识别错误数据之前的时间。在引入点进行检测可确保腐败的范围受到限制。此外,发现问题的团队更有可能制定必要的修复程序来修复管道。从属作业将对他们收到的数据符合预期有很高的信心,并且他们可以进一步缩小所需的验证范围。
衡量影响
一旦检测到问题,特定的审计失败会给调查工程师足够的洞察力来开始调试失败。这与利益相关者发现错误的场景形成对比。在那种情况下,必须进行调查以跟踪依赖关系图中的作业流。由于在进行调试之前必须评估的作业范围增加,因此此调查必然会增加解决问题的时间。
数据集来源和沿袭
沿袭是指给定执行上游的依赖图中的源节点集。对于调试数据问题,如果有强大的工具来理解错误数据集的来源,则可以节省大量时间。了解可能引入错误的位置可以减少搜索空间,从而使数据工程师可以集中精力进行调试。
数据来源
图 3:数据来源
此外,当事后检测到问题时,沿袭工具有助于评估受数据故障影响的作业集。如果没有这样的工具,手动搜索依赖项并发现所有受影响的操作将是一项劳动密集型工作。
追踪
建立信任需要兑现承诺的历史。随着时间的推移证明对承诺的遵守使消费者对过程的产品充满信心。数据质量,就像其他相关的公司关键绩效指标一样,受益于有意识的收集和审查。
随着时间的推移衡量质量
随着时间的推移跟踪数据质量指标可以让组织引导资源并改进影响最大的领域。是否有某些用例一直未能通过审核?数据通常会超过服务水平目标吗?如果这些问题得到肯定的回答,则表明负责团队和上游团队之间必须进行更深入的讨论。如果无法合规,则必须重新评估数据合同。
与有影响力的用例相关的关键指标
审计必须与组织的基本事实有明确的联系。这确保将重点放在与组织数据健康的真实、可操作方面直接相关的质量指标上。在这种情况下,审计的价值是可以直接衡量的,并且与它支持的业务计算的价值一一对应。