华少的博客

谁的头顶上没有灰尘,谁的肩上没有过齿痕

0%

DataOps 体系化

前言

本文从企业建设大数据平台背景出发,介绍DataOps 概念目标和体系化实践建议,给企业大数据平台建设和优化提供一些借鉴。

背景

近年来,数据平台在企业数字化转型过程起着越来越重要的作用,给企业的战略分析和业务推动带来强有力的数据支撑,可以快速、高质量地提供数据服务,从而实现数据价值。

然而随着企业对数据集成和分析的需求不断增长,数据源种类多,数据工具和架构复杂,对数据平台的能力要求也越来越高。

data-architecture

落地大数据平台组件及处理方式也越来越繁杂,这对维护大数据稳定和持续接入新的数据需求带来了挑战,数据团队应持续优化数据平台架构和开发流程,以满足企业数据集成周期短,数据质量高的需求。

DataOps 介绍

data-architecture

Dataops也是在此背景下应运而生,它是一组包含人、流程和技术的体系,管理着代码、工具、基础设施和数据。

它借鉴Devops 的敏捷开发和持续集成思想,持续优化Data Pipeline,加速数据处理和分析的周期,提供安全合规的高质量数据服务。

这里可以简要提下DevOps 、DataOps 和 MLOps 之间的关系

DevOps vs DataOps vs MLOps
如图上所示,三者都是基于敏捷思想,自动化地持续迭代高质量的交付物。
DevOps 的交付物是以应用为中心的服务,DataOps 的交付是数据产品或服务,而MLOps的交付是数据模型。

DataOps 价值体现

DataOps 依附于大数据平台整个生命周期,分别在规划期实施期运营期给企业挖掘数据价值带来巨大推动作用。

DataOps 规划期

目的:结合企业数字化进程、当前数据平台架构和述求进行深度定制,设计规划可扩展易维护的大数据平台架构。
以DataOps 为切入点,实施以下活动:

  1. 结合源系统和业务分析需求,review 数据架构演进路线,识别风险点;如数据处理架构中单点问题,数据依赖和故障处理流程;
  2. 结合数据量存量与增量、处理频率等,规划节点数量、配置和服务分布,使资源高效利用;
  3. 结合大数据平台架构选型和数据流,设计完整监控体系。
  4. 结合数据安全和合规性要求,设计规划包含data pipeline、平台运维和数据服务等相关的大数据平台安全体系

通过以上Actions,为企业构建大数据平台,提前识别风险,预留可扩展空间,给落地大数据平台,加速实现数据价值提供指导方向。

DataOps - 基础设施建设优化

众所周知,大数据平台的稳定可靠是加速数据价值实现的基石。在此阶段,Dataops 团队将提供大数据集群安装部署和优化调试服务,为数据开发保驾护航,提供稳定可靠的平台使用。

  1. 定制化安装部署大数据平台,联调各组件,验证可用性
  2. 关键组件高可用配置及验证
  3. 集群与依赖服务 监控告警配置
  4. 大数据组件 监控告警配置
  5. 组件配置调优(参数调优,日志策略等)
  6. 统一权限配置链路,端到端的数据安全实践

集群优化:

  1. 检查漏掉必要监控告警
  2. 日常巡检和月度报告
  3. 组件高可用和监控链路review

DataOps - Data Pileline

此阶段是大数据平台生命周期的重要价值体现,高效稳定的接入源系统,给企业带来数据价值。在此过程中DataOps 通过不断优化和管理代码、工具、基础设施和数据,逐步建立完善的Data Pipeline,加速数据价值落地过程。

DataOps Process

上图展示了DataOps 的流程和相关技术,在不同的企业中,实现DataOps 流程所使用的工具和组件不尽相同。但基本目标是一致的,使Data Pipeline 可重用,自动化和高质量

标准DataOps 流程的特性:

  1. 易扩展,可复用
  2. 统一的监控告警链路
  3. 数据质量校验
  4. 完善的异常处理流程

易扩展,可复用

DataOps 的源头是数据源系统,而终点是数据产品和服务。对大型企业来讲,数据源系统种类繁多,业务接入场景纷杂以及需求的数据产品和服务也不尽相同,这时候给Dataops 带来的挑战也较大,在实施DataOps 时需要考虑ETL 代码和工具流程上支持多种业务场景和需求,使之易扩展和可复用。

  1. 便捷的支持多种源系统类型的数据集成,缩短数据接入时间
  2. 数据平台提供的数据产品和服务易复用
  3. 支持多种环境(Local,Uat,Prod)开发测试和自动部署

统一监控告警

在任何Ops 流程中,监控和告警都是重要手段,对于DataOps 来讲,尤其必要。不同于应用开发,代码覆盖逻辑分支,在数据开发中需要更加关注数据情况,然而依然很难枚举和Cover 所有业务数据场景,因此完善的监控告警机制是DataOps 保障任务稳定和数据质量的强有力手段。
统一监控告警需要满足以下条件:

  1. 任务发布后自动接入持续监控,且可以配置自定义监控项(比如)
  2. 监控项:任务执行数据量,执行时长,任务状态,任务失败标签等
  3. 任务分级告警,发送漏斗警报,进入故障处理流程;告警前重试,及时处理
  4. 统一监控门户,汇总统计,做审计

异常处理流程

流程优化;每日值班;集群层面异常

  1. 任务失败可以触发异常响应流程
  2. 故障分级,故障报告和故障复盘
  3. 规范的日志汇集,完整清晰的troubleshooting路径

数据质量校验

质量问题特点:

  1. 数据部门晚于业务方发现数据异常,被投诉才发现问题
  2. 出问题后,数据部门无法快速定位数据异常的根源,排查用了较长时间
  3. 故障出现在数据加工链路的上游顶端,出现问题没有第一时间报警处理,导致问题修复时,所有下游链路的任务都要运行,修复时间成本高

质量问题根源:

  1. 业务源系统变更;表结构,源系统环境,约定的数据格式 变更
  2. 数据开发bug;任务发布,代码中引用的测试库未修改为线上库,导致污染线上数据;代码中使用固定分区;代码忽略异常,数据错误;配置异常,没有设置好依赖,输入数据不完整,下游数据产出错误;
  3. 物理资源不足;集群资源共享,多租户下资源分配协调问题。
  4. 基础设施不稳定。

针对数据质量问题,需要做到早发现早恢复

为此,需要建立完善的数据质量校验体系:

  • 业务数据探查,对齐业务认知,确定校验规则;
  • 在数据处理过程中,设置好调度依赖和数据依赖,确保数据完整性和准确性;
  • 数据产出,任务结束后对结果进行扫描计算,判断是否符合预期,根据提前设置强弱的检查规则,触发不同的处理流程。

DataOps 体系建设助力数据价值落地

解决数据平台实施的几个问题:

  1. 分布式大数据平台稳定性差 - 避免单点,及时监控与告警,架构调优;
  2. 数据质量问题频发 - 结合业务场景,提前做好质量探查、数据校验和监控告警;
  3. 数据开放,安全合规 - 集群安全设施、完整的权限流程和数据目录和自服务;
  4. 新手快速接入数据及数据处理 - 自动化、易扩展、可复用的Data Pipeline,统一的监控告警体系。

通过以上体系建设,可以让data pipeline 的开发更加严谨,可重用和自动化,可以加速数据集成、分析到数据价值体现的过程。

总结

本文介绍了dataops 的诞生背景、定义、目标使命与实践建议,dataops 是在数据平台落地、后续迭代和持续运营的最佳保障。

DataOps可以帮助数据团队从产生数据孤岛、数据积压和无休止的质量控制问题的环境中解脱出来,进入敏捷、自动化和加速的数据供应链环境,从而持续提效并为企业带来更多价值。

如还未在数据平台实施以上DataOps 体系实践的企业,可以考虑迭代优化自己的数据平台。

参考

DataOps: Adjusting DevOps for Analytics Product Development

DataOps:企业数据中台的核心底座

分布式数据平台Data Mesh

Diving into DataOps: The Underbelly of Modern Data Pipelines

A glimpse into DataOps