数据可观察性101:你需要知道的一切

什么是数据可观察性,它对你的堆栈有意义吗? 以下是开始大规模数据信任之路的指南.

我从客户那里得到的最常见的问题之一是:“我如何开始。 数据可观测性?这是有充分理由的. 🙂 

一年前,它作为现代数据栈中的一层出现, 数据可观测性 指组织充分了解其系统中数据的健康状况和可靠性的能力. 传统上,数据团队依赖于 测试数据仅 to ensure that pipelines are resilient; in 2021, 随着企业吸收的数据量不断增加,管道变得更加复杂, 这种方法已不再足够. 

不要误解我的意思:您应该始终测试您的数据管道. 但即使进行了测试,也常常存在关键的差距.

事实上, 如果你是做数据的, 管道破损处理, 失踪的行, 重复的数据(以及随之而来的复杂性和挫折) 数据停机时间)可能是一个熟悉的体验,即使是测试. 

在我之前的公司Gainsight担任运营副总裁时,“我的数据在哪里? 为什么数据是错误的? 谁移走了这排?都是我团队的Slack频道中常见的信息. 有时候我觉得这些信号永远不会停止. 

关键表将无法更新. 在数据资产和下游表之间映射谱系感觉就像一个永无止境的玉米迷宫. 新鲜的异常现象不知从哪里冒出来的速度比你说“数据网格”的速度还快.” 

当推荐一个正规滚球网站找出这些问题的根本原因并努力减轻它的时候, 损害已经造成.

由于这些事件和许多其他事件, 公司高管们纷纷向我的收件箱投诉推荐一个正规滚球网站的数据质量问题. 他们都有一个共同的主题: 缺乏 信任.

幸运的是, 过去几年出现了新的方法来补充检测和监测本身.

帮助人们开始他们的数据信任之旅, 我整理了一个快速指南,解释了为什么以及如何开始使用数据可观察性.

什么是数据可观察性?

数据可观测性 组织是否有能力完全理解其系统中数据的健康状况. 它是通过应用DevOps可观察性最佳实践来消除的 数据停机时间. 与自动监测, 报警, 并进行分类以识别和评估数据质量和可发现性问题, 数据可观察性带来更健康的数据管道, 更高效的数据团队, 最重要的是更快乐的数据消费者.

数据可观察性提供了对数据堆栈的整体覆盖,以解释数据中的未知未知——换句话说, 这些问题仅靠测试是无法避免的. 图片由巴尔摩西提供.


就像 可观察性的三大支柱 在软件工程中,数据可观察性可以分为五个支柱:

  • 新鲜: Freshness旨在了解数据表的最新程度, 以及您的表格更新的节奏. Freshness is particularly important when it comes to decision-making; after all, 过时的数据基本上就是浪费时间和金钱的同义词.
  • 地理分布: 分布, 换句话说, 数据可能值的函数, 告诉您数据是否在可接受的范围内. 数据分布使您能够根据数据的期望了解表是否值得信任.
  • 体积: 容量指的是数据表的完整性,可以洞察数据源的健康状况. 如果2亿行突然变成了500万行,你应该知道.
  • 模式: 数据组织(换句话说,模式)中的更改通常表示损坏的数据. 监视谁对这些表进行了更改以及更改的时间是了解数据生态系统健康状况的基础.
  • 血统: 当数据崩溃时,第一个问题总是“在哪里”?数据沿袭会告诉你哪些上游来源和下游摄食者受到了影响,从而提供了答案, 以及哪些团队在生成数据以及谁在访问数据. 良好的沿袭还收集与治理有关的数据(也称为元数据)的信息, 业务, 以及与特定数据表相关的技术指南, 为所有消费者提供单一的真相来源.

数据可观察性平台的核心要素是什么? 

无论您是在构建自己的数据可观察性解决方案,还是在市场上评估一个解决方案, 在选择数据可观察性解决方案时,需要考虑以下六件事.

  1. 价值的转换:它是否可以快速无缝地连接到你现有的堆栈,而不需要修改你的管道, 编写新代码, 或者使用特定的编程语言? 如果它能够快速无缝地连接, 您将能够更快地看到这些好处,并在不进行重大投资的情况下最大化您的测试覆盖范围.
  2. 安全架构: 它是否监视您的静态数据,而不需要从当前存储的位置提取数据? 一个可以监视静态数据的解决方案可以跨您的数据平台进行扩展,并且对您的组织具有成本效益. 此外,它确保您的组织符合最高的安全标准.
  3. 最小的配置: 它是否只需要最小的配置就可以启动和运行,而且几乎不需要设置阈值? 一个优秀的数据可观察性平台使用ML模型自动学习您的环境和数据. 它使用异常检测技术,让您知道什么时候发生故障. 它通过考虑不仅仅是单个指标来最小化误报, 而是对你的数据和任何特定问题的潜在影响的整体看法. 作为一个结果, 您不必花费宝贵的工程资源配置和维护嘈杂的规则. 同时, 它为您提供了直接在CI/CD工作流中为关键管道设置自定义规则的灵活性. 
数据可观察性应该允许团队使用自动生成的规则快速启动和运行, 同时还允许灵活设置自定义数据质量监视器. 图片由巴尔摩西提供.
  1. 端到端血统:它是否提供端到端沿袭来跟踪上游和下游的依赖关系? 该解决方案不需要预先映射需要监视的数据集以及以何种方式监视. 能够理解沿袭允许您识别关键资源, 关键依赖关系, 关键不变量,这样你就能得到广泛的可观察性.
解决数据质量问题的端到端方法结合了沿路,既映射了上游和下游的依赖关系,又强调了哪些数据资产直接受到数据事件的影响. 为管道的运行状况提供广泛的可观察性. 图片由蒙特卡罗提供.


  1. 交流: 解决方案生成的警报是否提供了支持快速分类和故障排除的丰富上下文? 您选择的解决方案应该允许您与受数据可靠性问题影响的涉众进行有效的沟通. 不像特别的查询或简单的SQL包装器, 这样的监视不会停止于“表Y中的字段X的值今天低于Z”.”

将数据可观察性与常规通信渠道(如Slack)集成, PagerDuty, 和ops精灵)可以使数据问题出现时的响应和协作变得容易. 图片由巴尔摩西提供.


  1. 减少检测和解决时间: 它能从一开始就防止问题的发生吗? 数据可观察性平台可以通过跨五大支柱公开关于数据资产的丰富信息来实现这一点,这样就可以负责地、主动地进行更改和修改.
帮助数据团队识别的集中式仪表板, 警惕, 并且快速和协作地修复数据质量问题,提供了一种主动的方法,以确保高数据可靠性和在管道的所有阶段的理解. 图片由巴尔摩西提供.

如果满足了这6个要求,那么您的数据可观察性策略就是正确的.

为什么既需要测试又需要可观察性

数据测试是在管道的不同阶段验证你对数据的假设的过程, 当涉及到实现良好的数据卫生时,它是P0. 数据测试通过对空值进行静态测试来帮助进行测试, 独特性, 参照完整性, 以及其他常见的数据问题指标. 这些工具允许您手动设置阈值,并对您的数据的基本假设知识进行编码,这些知识应该保存在管道的每次运行中.

您甚至可以使用测试来确定您的数据是否符合您的有效性标准—例如保持在预期范围内或具有惟一值. 这在精神上与软件工程师使用测试来提醒他们预期可能发生的理解良好的问题非常相似.

但是,如果您不知道数据会发生什么问题(换句话说),那么如何测试数据质量问题呢, 未知的 未知数)?

对一行代码进行小小的修改就会导致API停止收集支持流行产品的数据. 或者对ETL的意外更改导致测试无法运行, 允许坏数据进入您的数据生态系统. 这两个例子都说明了即使是最好的数据管道也可能被未知的未知数破坏. 

类似的, 单靠数据测试不足以防止数据管道破裂, 正如单元测试不足以确保软件的可靠性一样. 就像推荐一个正规滚球网站的软件工程同事用New Relic等工具监控他们的应用程序的健康状况一样, DataDog, 和AppDynamics, 数据需要类似的方法. 现代数据团队应该在他们的流程中利用测试和可观察性,以确保一致的可靠性.

当组织建立数据管道时,速度往往比数据可靠性更重要. 因此,团队倾向于选择很少或不进行测试,将其置于次要地位. 作为一个结果, 当出现问题时,数据团队被迫返回并向现有管道添加覆盖. 这导致团队采取被动而不是主动的方法来解决数据质量问题. 

同时具有测试和可观察性的方法可以减少数据测试债务带来的一些挑战. 数据团队对现有的管道有更大的可视性,并且可以在数据质量问题影响下游资源和涉众之前主动地解决这些问题.

如何建立数据信任的实践

解决数据质量问题, 数据团队正在转向主动解决方案,以一劳永逸地防止数据质量问题. 而 异常检测 对检测数据质量问题有帮助吗, 当涉及到真正的理解时,仅仅依靠异常检测是不够的 根本原因,进行影响分析,甚至解决手头的问题.

数据团队需要理解:

  • 什么坏了?
  • 谁会受到下游的影响?
  • 为什么会断呢??
  • 哪里坏了?
  • 问题的根本原因是什么?

这与DevOps应用一个持续的反馈循环来改进软件的方法非常相似, 在异常检测之外应用数据可观察性,允许团队利用相同的数据勤奋毯.

图片由巴尔摩西提供.

一流的数据可观察性框架将允许数据团队:

  1. 第一个了解生产中的数据质量问题.
  2. 充分理解问题的影响.
  3. 完全理解数据是从哪里泄露的.
  4. 采取行动解决问题.
  5. 收集经验教训,这样随着时间的推移,你就可以防止问题再次发生.

通过应用这种方法, 数据团队可以更好地协作来识别, 首先解决和防止数据质量问题的发生, 并真正优化数据的可观测性,以充分发挥其潜力.

继续研究数据的可观察性

随着这些解决方案和方法的发展, 我很高兴看到行业继续采用最佳实践(CI/CD), 版本控制, 文档, 敏捷开发, 等.)从推荐一个正规滚球网站的软件工程朋友那里, 同时继续使它们针对现代数据生态系统的需求. 

也许,下次有人问你“我的数据去哪儿了??你就会知道答案了. 如果没有,至少你离目标更近了一步. 

更多的阅读

有兴趣了解更多? 接触 巴尔 剩下的部分 可以玩滚球的正规app队!