📢 转载信息
原文链接:https://www.kdnuggets.com/data-observability-in-analytics-tools-techniques-and-why-it-matters
原文作者:Nate Rosidi
Image by Author
数据可观测性简介
你可能听过这样一句陈词滥调:“数据是现代组织的支柱。”这确实属实,但前提是你能信任这个支柱。我说的并非数据本身的状况,而是产生和传输数据的系统。
如果仪表板损坏、数据管道失败、指标随机变化,问题不在于数据质量的缺乏,而在于可观测性的缺失。
什么是数据可观测性?
数据可观测性是监控数据系统健康和可靠性的过程。
这个过程旨在帮助数据团队在影响决策之前,检测、诊断和预防整个分析堆栈中出现的问题——从数据摄取、存储到分析的每一个环节。
有了数据可观测性,你可以监控数据和系统的以下方面。
Image by Author
- 数据新鲜度 (Data Freshness):跟踪数据相对于预期更新时间表的最新程度。例如:如果一个每日销售表未能在预定的早上7点前更新,可观测性工具会在业务用户使用销售报告之前发出警报。
- 数据量 (Data Volume):衡量在每个阶段摄取或处理的数据量。例如:夜间交易记录下降38%可能意味着某个摄取作业已损坏。
- 数据模式 (Data Schema):检测列名、数据类型或表结构的变化。例如:如果新的数据生产者在未通知的情况下向生产环境推送了更新后的模式。
- 数据分布 (Data Distribution):检查数据的统计形状,即它看起来是否正常。例如:高级客户的百分比在一夜之间从29%下降到3%。可观测性会检测到这是一种异常,从而防止产生误导性的客户流失率分析。
- 数据血缘 (Data Lineage):可视化数据在整个生态系统中的流动路径,从摄取、转换到最终的仪表板。例如:Snowflake中的源表失败了,血缘视图将显示有三个Looker仪表板和两个机器学习模型依赖于它。
为什么数据可观测性很重要?
下面展示了数据可观测性在分析中的益处。
Image by Author
我们之前提到的每一个数据可观测性维度或支柱,在实现整体益处方面都扮演着特定的角色。
- 减少错误决策:数据可观测性确保分析反映当前的业务状况(数据新鲜度维度),并在数据和模式被用于洞察之前确保它们是合理的(数据分布维度),从而减少可能出错的决策数量。
- 更快地检测问题:当早期预警系统提醒您数据加载不完整或重复(数据量维度)以及存在会悄悄破坏管道的结构性变化时,异常会在业务用户注意到之前就被捕获。
- 提高数据团队的生产力:数据血缘维度映射了数据在系统间的流动方式,使得追踪错误源头和受影响的资产变得容易。数据团队可以专注于开发而不是救火。
- 增强利益相关者的信任:这是数据可观测性益处的“最终首领”。利益相关者的信任是前三个益处的最终结果。如果利益相关者可以信任数据团队提供的数据是最新、完整、稳定、准确的,并且每个人都知道其来源,那么对分析的信心自然会随之提升。
数据可观测性生命周期与技术
如前所述,数据可观测性是一个过程。其持续的生命周期包括以下阶段。
Image by Author
// 1. 监控与检测阶段
目标:一个可靠的早期预警系统,实时检查数据中是否有漂移、损坏或偏差的情况。
这里发生的事情:
Image by Author
- 自动化监控:可观测性工具通过所有五个支柱自动监控数据可观测性。
- 异常检测:利用机器学习来检测数据中的统计异常,例如行数意外下降。
- 告警系统:一旦发生任何违规行为,系统会向Slack、PagerDuty或电子邮件发送警报。
- 元数据和指标跟踪:系统还会跟踪作业持续时间、成功率和上次更新时间等信息,以了解何为“正常行为”。
监控与检测技术
以下是此阶段常用技术的概述。
// 2. 诊断与理解阶段
目标:理解问题始于何处以及影响了哪些系统。这样,恢复可以很快完成,或者如果存在多个问题,可以根据影响的严重程度确定优先级。
这里发生的事情:
Image by Author
- 数据血缘分析:可观测性工具可视化了从原始数据源到最终仪表板的数据流,使定位问题发生位置变得更加容易。
- 元数据关联:元数据也用于精确定位问题及其位置。
- 影响评估:哪些受到影响?工具会识别出位于问题位置下游并依赖受影响数据的资产(例如仪表板或模型)。
- 根本原因调查:利用血缘和元数据来确定问题的根本原因。
诊断与理解技术
以下是此阶段使用的技术概述。
// 3. 预防与改进阶段
目标:从已发生的问题中吸取教训,并通过建立标准、自动化执行和监控合规性,使数据系统在每次事件发生后都更具弹性。
这里发生的事情:
Image by Author
- 数据合约 (Data Contracts):数据生产者和消费者之间的协议,定义了可接受的模式和质量标准,从而避免数据发生未宣布的更改。
- 测试与验证:自动化测试(例如通过dbt测试或Great Expectations)在数据上线前检查新数据是否符合既定阈值。对于加强数据分析和SQL调试技能的团队,StrataScratch等平台可以帮助从业者培养分析严谨性,从而识别和预防数据质量问题。
- SLA 与 SLO 跟踪:团队定义并监控可衡量的可靠性目标(服务等级协议和服务等级目标),例如 99% 的管道按时完成。
- 事件事后复盘 (Incident Postmortems):对每一个问题进行审查,有助于改进监控规则和整体可观测性。
- 治理与版本控制:跟踪更改,创建文档,并指定所有权。
预防与改进技术
以下是技术的概述。
数据可观测性工具
现在您了解了数据可观测性的作用和工作原理,是时候向您介绍将用于实施它的工具了。
最常用的工具如下所示。
Image by Author
我们将更详细地探讨每一个工具。
1. Monte Carlo
Monte Carlo 是行业标准,也是第一个正式化五大支柱模型的工具。它为整个数据管道的数据健康提供了完整的可见性。
关键优势:
- 涵盖所有数据可观测性支柱
- 异常和模式更改是自动的,即无需手动设置规则
- 详细的数据血缘映射和影响分析
局限性:
- 它专为大规模部署而设计,不太适合小型团队。
- 企业级定价。
2. Datadog
Datadog 最初是用于监控服务器、应用程序和基础设施的工具。现在,它提供了跨服务器、应用程序和管道的统一可观测性。
关键优势:
- 将数据问题与基础设施指标(CPU、延迟、内存)关联起来
- 实时仪表板和警报
- 集成了Apache Airflow、Apache Spark、Apache Kafka以及大多数云平台。
局限性:
- 重点更多在于操作健康,而非深度数据质量检查。
- 缺乏专业工具中发现的高级异常检测或模式验证功能。
3. Bigeye
Bigeye 通过机器学习和统计基线实现数据质量监控的自动化。
关键优势:
- 自动生成数百个关于新鲜度、数量和分布的指标。
- 允许用户以可视化的方式设置和监控数据 SLA/SLO。
- 设置简单,工程开销极小。
局限性:
- 与 Monte Carlo 相比,在深度血缘可视化或系统级监控方面的关注点较少。
- 用于诊断根本原因的功能集较小。
4. Soda
Soda 是一款开源工具,直接连接到数据库和数据仓库,以实时测试和监控数据质量。
关键优势:
- 开发者友好,其基于 SQL 的测试集成到 CI/CD 工作流程中。
- 开源版本可供小型团队使用。
- 强大的协作和治理功能。
局限性:
- 复杂的文本覆盖需要手动设置。
- 自动化能力有限。
5. Acceldata
Acceldata 是一款结合了数据质量、性能和成本检查的工具。
关键优势:
- 同时监控数据可靠性、管道性能和云成本指标。
- 管理混合和多云环境。
- 轻松集成 Spark、Hadoop和现代数据仓库。
局限性:
- 面向企业级用户,设置复杂。
- 对列级数据质量或异常检测的关注度较低。
6. Anomalo
Anomalo 是一个人工智能驱动的平台,专注于自动异常检测,只需最少的配置。
关键优势:
- 从历史数据中自动学习预期行为,无需规则。
- 非常适合监控模式更改和值分布。
- 能大规模检测微妙、不明显的异常。
局限性:
- 对于高级用例,手动规则创建和定制化程度有限。
- 侧重于检测,诊断或治理工具较少。
结论
数据可观测性是一个必不可少的流程,它将使您的分析工作值得信赖。该过程建立在五个支柱之上:新鲜度、数据量、模式、分布和数据血缘。
彻底实施可观测性将帮助您的组织减少错误决策,因为您将能够避免数据管道中的问题并更快地诊断它们。这不仅提高了数据团队的效率,还增强了其洞察的可信度。
Nate Rosidi 是一位数据科学家,专注于产品策略。他还是兼职教授,教授分析课程,并且是 StrataScratch 的创始人,该平台通过来自顶级公司的真实面试问题帮助数据科学家准备面试。Nate 撰写关于职业市场最新趋势、提供面试建议、分享数据科学项目,并涵盖 SQL 的所有内容。
🚀 想要体验更好更全面的AI调用?
欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。
评论区