数据质量监控:你们一直都做错了

有时,我们会与对仅在一组特定的关键表中应用数据质量监控感兴趣的数据团队进行交谈。

争论的内容类似于:“您的环境中可能有数百或数千个表,但您的大部分业务价值仅来自于少数真正重要的表。这才是你真正想要集中精力的地方。”

在当今世界,这种方法已不再足够。这是真的——你需要 对某些数据集进行“深入”研究,但又不去广泛,你完全错过了这条船。

随着数据环境变得越来越复杂和相互关联,需要更快地覆盖更多基础对于实现真正的数据可靠性至关重要。为此,您需要使用机器学习和用户定义规则“深入”数据的数据监控器,以及跨环境中的每个生产表“广泛”扩展的元数据监控器,并在您的环境中完全集成堆。

在这篇文章中,我们将解释为什么 - 以及如何 - 交付可靠的数据需要跨字段、表、企业数据仓库和堆栈级别分层多种类型的数据监视器。

 

友情提示:麦聪DaaS平台为提供轻量级数据质量监控,加速企业数字化转型进程,目前已获得全球近400家企业客户的使用,其中30多家为世界500强企业,欢迎大家到麦聪软件的官网下载免费试用版本。

 

现场级别的深度数据监控

 

您需要使用的第一种“深度”数据监控器是 机器学习来生成预配置的数据质量规则,以验证表中的数据。当您知道特定表中的一组字段很重要时,最好部署它们,但您不确定它会如何中断。此类数据监视器可有效检测 当字段中的单个值为空、重复、格式错误或以其他方式损坏时发生的异常情况。它还可以识别指标偏离其正常模式的情况。

您无需为这些类型的监控器预先配置规则和阈值——大多数监控解决方案将根据数据的历史趋势提供建议。但是,因为您正在查询数据,所以它是计算密集型的。这使得在整个管道中扩展的成本高得令人望而却步,使它们最适合在高风险表上“深入”。

 

11f864ad92537a9166fe6f6a973ebbdb.jpeg

 

第二种监视器,用户定义的监视器在数据未通过指定逻辑时触发警报。用户定义的、机器学习驱动的监视器最好使用定义最明确、易于理解的逻辑来部署,以捕获频繁或严重的异常。它通常通过 SQL 语句表示。

换言之,这些数据监控器跟踪数据准确性、数据完整性以及对业务规则的总体遵守情况。例如,您可能有一个永远不会为负数或 null 的指标,如发货时间,或者永远不会超过 100% 的关键表中的字段。它甚至可以帮助跟踪存储在一个表中的数据是否与存储在另一个表中的数据相匹配,或者您的指标在多个细分和计算中是否一致。

 

bc64e733630cd3563c20c2a5ae5e3163.jpeg

 

 

表级别的深度数据监控

 

在表级别,基于 ML 的数据监视器可以检测异常,例如新鲜度(该表是否在应该更新的时候更新?)和容量(行太多或太少?)。

但同样,这种方法的成本太高,无法在所有管道中大规模部署,这使得这些监视器最好保留给一些关键资产。例如,如果您的 CEO 在美国东部标准时间早上 8:00 每天早上查看特定的仪表板,并且如果到那时提供该报告的数据尚未更新,那么头部将滚动。

 

8539ff41b8784821dc8587fb0cab7b3b.jpeg

 

 

窄而深的数据监控的局限性

 

 

8e71a983d446ca986e01b71dc1d4baae.jpeg

 

通过狭隘的监控,您会从上游和下游资源中夺走宝贵的上下文。

当您在最重要的表上部署用户定义和机器学习监视器时:

 

  1. 您错过或延迟检测和解决上游更明显的异常。

  2. 在关键表上发出警报,通常会从根本原因中删除数十个处理步骤,这将涉及错误的人员,并且不会让他们了解问题的根源或如何解决问题。

  3. 如果不了解系统中的依赖关系,您的团队将浪费时间试图确定将监控注意力集中在哪里。随着环境和数据消费模式的变化,保持这一点也可能很乏味且容易出错。

跨企业数据仓库的广泛元数据监控

 

“广泛的”元数据监视器可以经济高效地跨环境中的每个表进行扩展,并且非常有效地检测新鲜度容量 异常以及由 模式更改导致的异常(数据的组织方式是否发生了变化?)。

 

9331aafd093944a1474fae542c280424.jpeg

 

通过撒下更大的网,您不仅可以捕捉到所有有影响的异常,还可以通过在更靠近事件源的地方捕捉它们来缩短检测和解决它们的时间。将异常追溯到上游的几层和人员,进行必要的回填,以及以其他方式解决事件,都是耗费时间和资源的。

 

8c59fc2d7443ad9bd6646a4016a7d117.jpeg

 

您监控的堆栈中的数据质量越靠前,检测时间就越短。

训练有素的模型、动态警报分组和精细警报路由确保警报疲劳不会成为问题。

 

跨堆栈的端到端集成和日志分析

 

广泛的覆盖范围还需要端到端集成。如果不分析堆栈中每个组件的日志,您就会对一个系统中的更改如何导致另一个系统中的异常视而不见。

在装配线上,特斯拉不仅在 Model X 准备好向客户发货时实施质量控制。他们在沿途的每一步检查电池、发动机部件和车身。

我们不应该在每个故障点检查我们的数据管道吗?这包括自动分析管道的 SQL 日志以了解代码和逻辑中的任何最新更改;气流日志以了解故障和延迟;和 dbt 日志以了解错误、延迟和测试失败。

 

cdaa984d14fd7fa2c3ade9f124f5c36a.jpeg

 

经济高效且大规模地做到这一点的唯一方法是分析堆栈中的日志。这种方法既涵盖了您的所有故障点,又提供了额外的上下文来帮助您防止未来的异常

例如,在 BI 层分析日志可以识别下游用户和数据消费模式,帮助您更有效地部署深度监视器。识别企业数据仓库中的日志可以自动评估数据健康的关键组成部分,例如恶化的查询或断开连接的表。

 

b8abb277729bf6bef3b03fb7547cb0df.jpeg

 

 

监控的未来是端到端的数据可观察性

 

在一天结束时(或者更确切地说,管道的尽头),将深度监控与广泛的覆盖范围相结合,可为您提供两全其美的优势:对数据环境的端到端可见性以及快速解决任何问题所需的工具确实出现了。

与我们的软件工程和 DevOps 同行一样,我们认为是时候超越监控,采用一种超越一组狭窄指标的方法,更积极地识别、解决和调试复杂的技术系统。也许是时候我们改用 数据可观察性了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值