当我们在谈论DataOps时,我们到底在谈论什么

news2024/11/19 10:46:34

1. DataOps到底是什么?

伴随着全球数字化转型的高速发展,在云计算、物联网、5G、边缘计算、元宇宙等新技术的驱动下,数据爆炸的时代已经来临。IDC Global DataSphere显示,2021年,全球数据总量达到了84.5ZB,预计到2026年,全球结构化与非结构化数据总量将达到221.2ZB。

此外,在《数字化转型架构:方法论和云原生实践》一书中也提到云原生应用平台的发展将经历DevOps—DataOps—AIOps的演进路径,可以看出在云原生的浪潮下,企业也越来越需要数据。但在面对数据量巨大、数据种类繁多、数据急剧增长的困境时,对企业驾驭数据的能力也提出更高的要求。如果不能对海量数据进行合理有序的组织和管理,非但不能产生数据价值,反而会对企业造成极大的负担,从某种程度上来说,也是一种“数据灾难”,而这也是DataOps一直处于热门话题的原因。在开源SREWorks项目数据化建设过程中,我们也一直在思考:DataOps到底是在做什么?

在讨论DataOps之前,我们先来看下DevOps。DevOps是一种软件交付管理的思想,它追求一种敏捷的、规范的、跨团队的软件研发协作状态,力求将一套软件的开发模式,从小作坊形态演变成一条标准的生产流水线。DevOps在一定程度上为DataOps的发展奠定了基础,因此,DevOps是我们在讨论DataOps时绕不开的重要话题。

DataOps本身也是属于敏捷开发范畴,类似DevOps以较短的开发迭代周期快速满足各自的需求,同时DataOps也需要大量标准化数据工具或组件,依赖团队之间协作,进行数据的开发和分析。与DevOps不同的是DataOps主要专注于数据流,因此,通过数据化的方法或方法论来推动企业运营水平的提升都可以隶属于DataOps的范畴。

DataOps 是 data operationalization的缩写,DataOps 不单单指数据技术的工具和平台,更重要的是一套数据全生命周期管理的方法论和思想。基于数据驱动,通过一系列面向流程的工具和平台,将DataOps思想进行工程化落地实践,能够将所有系统的相关数据采集起来,打破数据孤岛,统一建设高效规范的数据模型和数据体系,深度挖掘数据价值。

DataOps的方法论和思想主要是被分析和数据团队使用,旨在简化数据使用、降低数据分析门槛,提高数据分析质量、缩短数据分析周期。也就是说,数据作为一种大数据时代的“新能源”,本身是需要通过平台化的能力, 实现围绕“数据集成、数据开发、数据存储、数据治理以及数据服务”等体系化的数据管理流程。更进一步,基于数据驱动的思想,进行数据分析和数据消费,通过数据赋能,做好各个业务领域的相关工作,真正解决实际生产过程中遇到的痛点问题,实现数据价值落地的场景化输出。

2. DataOps能够解决哪些问题?

下面列举一些常见的数据相关的问题,对于想要实施DataOps的公司来讲,可以判断一下是否有遇到:

  1. 如何确保生产的数据质量?
  2. 如何判断生产的数据能否满足业务的需求?
  3. 如何判断某个数据型项目工程的价值并持续投入?
  4. 如何寻找大数据人才?
  5. 如何提高数据处理的性能?
  6. 大数据方案采用什么技术栈?
  7. 大数据方案的运维稳定性如何保障?
  8. 引入了多个大数据方案,如何统一进行管理?
  9. 大数据的数据权限如何管理?
  10. 数据分析结果如何指导最终的决策?

上面常见的问题,可以归为三大场景:数据管理、数据运维和数据使用。通常实施数据化的公司都是在初期尝到了一些数据带来的甜头,但是在持续投入之后,却又发现这块的收益产出似乎带有很大的不确定性:数据表逐渐地被杂乱的数据堆满,数据产出链路常常延迟,而通过数据分析进行决策似乎也没像之前那么有效了。

简而言之,当前数据量变大,数据工程变复杂之后,如果没有规范的体系和流程,整体的协作关系又容易变回小作坊形态,存在诸如数据计算口径不统一、数据重复建设以及数据质量不高等问题,需要寻求一些标准化、规范化、体系化、工程化的方式来进行解决。

3. 如何进行DataOps实践?

正如前文所说,DataOps本身是一套完整的数据体系建设的方法论,其目标是能够让数据持续用起来,实现“数据集成、数据开发、数据存储、数据治理以及数据服务”等数据管理能力。这也意味着需要依赖众多的数据技术或数据组件来建设和运营DataOps数据平台,进而形成高效可靠的数据资产化体系和数据服务化能力,也即针对Data的数据运维。

数据集成

数据集成是构建企业级DataOps数据平台的第一步,依赖企业内部的跨部门协作,能够将不同来源的数据(不同的业务系统)以及不同类型的数据(结构化、半结构化、非结构化、离线以及实时数据等)进行整合,实现互联互通。从源头上避免数据的重复造轮和资源浪费问题,为构建规范化的数据体系、沉淀数据资产以及挖掘数据价值作准备。

数据集成一般是通过数据引入方式,将一个系统的数据按时按量集成到另一个系统中。通常采用ELT(Extract-Load-Transform,提取-加载-转换)的模式,重点在于数据汇聚,即将数据提取后直接加载到目标端存储中,这个阶段一般不做或者只做简单的数据清洗和数据处理。业界优秀的数据集成工具包括像Sqoop、DataX、Kettle、Canal以及StreamSets等。

数据开发

数据开发的目标是能够将数据集成阶段的原始数据,按照业务的需求进行加工处理、将原始的低业务价值的数据转换成高业务价值的数据资产,也就是说数据开发阶段是实现数据资产化的核心技术手段。

数据开发作为数据加工处理的核心阶段,通常会采用ETL(Extract-Transform-Load,提取-转换-加载)的模式并集成一系列的数据开发管控流程和工具,方便数据开发人员对ETL任务的编写、构建、发布、运维以及任务资源管控等,提升效率。通常数据开发主要分成离线数据开发和实时数据开发两大场景。

离线数据开发主要用于离线数据的批量定时加工处理,离线数据开发需要包含离线计算引擎、作业开发、任务调度、数据管控以及运维监控等核心能力,实际使用过程中,相关的离线ETL任务会按照预先设定的加工逻辑和ETL之间的拓扑依赖关系,进行调度执行。常见的离线处理框架包括MapReduce、Hive以及Spark等。在阿里巴巴内部也早已形成体系的MaxCompute通用大数据开发套件,快速解决用户的海量数据离线计算问题,有效降低企业成本并保障数据安全等。

实时数据开发主要涉及对实时流式数据的加工处理,满足像监控告警、数据大屏等对实时性要求较高的场景。在实时计算场景下,业务系统每产生一条数据,都会通过消息中间件(比如Kafka)被实时发送到流式处理平台进行加工处理,不再依赖调度引擎。常见的流式处理框架包括Storm、Spark Streaming以及Flink等。在阿里巴巴内部也基于Apache Flink构建了一站式的实时大数据分析平台,提供端到端的亚秒级实时数据加工处理分析能力。

数据存储

有了数据集成和数据开发的能力,下一阶段就是考虑如何进行数据存储和数据组织,其核心是标准规范的数据仓库和数据模型建设,也就是说数据仓库是实现数据资产化的呈现载体。

目前用的最多的数据建模方式是维度建模,典型代表有阿里巴巴建设的“OneData”数据建模体系,主要包括数据规范定义、数据模型设计以及ETL开发规范三部分。

数据规范定义:数据主题域、业务过程、指标规范、名词定义以及时间周期等命名规范。

数据模型设计:模型层次划分(分成数据引入层ODS、数据公共层CDM以及数据应用层ADS三层,其中CDM层又包括明细数据层DWD、汇总数据层DWS和维度数据层DIM)、模型设计原则、模型命名规范、模型生命周期管理以及数据质量规范等。

ETL开发规范:数据处理作业的研发流程、编码规范以及发布运维原则等。

数据仓库实施工作流(来源:《大数据之路》)

数据仓库建设工程链路(离线链路+实时链路)

数据治理

数据治理主要是对数据资产,配置数据管理策略,主要包括数据标准、数据质量、数据成本以及数据安全等内容。通过多维度进行量化评估,针对数据建设提出改进与优化建议,确保数据质量、标准、安全、易用。它包含以下功能:

  • 数据标准化管理:负责数据仓库中数据的表达、格式以及定义的规范性,包括模型规范、数仓元数据规范、名词术语规范、指标规范等进行管理,针对未标准化的内容提出改进建议。
  • 数据成本:主要从存储量和访问情况等沉淀相关治理项,比如:空表、无效表(未关联ETL任务表)、长期未访问表、长周期表、大数据量表等,通过对治理项的运作,提出优化建议,推动数据开发人员进行成本治理。
  • 数据质量:围绕数据的完整性、准确性、一致性、有效性和及时性五个维度并对数据的重要性进行资产等级划分,对质量保障既包括事前保障,比如数据开发流程、数据标准执行等,又有事中保障,比如DQC的数据质量实时监控和告警,还有事后保障,比如数据质量故障复盘,确定质量问题根因等。
  • 数据安全:评估数据安全风险,对数据设定安全等级,包括支持安全认证和权限管理、资源隔离、数据加密、数据脱敏等,保障数据安全可靠的被传输、存储和使用。

数据服务

数据服务旨在提供统一的数据消费服务总线,能够将数据资产生成API服务,其目标是把数据服务化,让数据能够快速集成到业务场景当中,发挥数据平台的价值。它包含以下主要功能:

  • 异构跨库查询:如果数据分布在多个异构数据库时,用户无法简单的实现数据关联查询,通过数据查询服务,可以减少数据同步作业,直接实现从多个源数据库加载数据与完成查询的能力。
  • 数据API 定义与管理:部份常用的数据点查或统计分析,可通过定义数据集与API名称,并最终暴露为一个HTTP资源路径的方式,并对数据API进行发布和访问授权,方便在各类脚本或代码中使用数据。
  • 数据缓存:对于常用的数据查询,可定义缓存与更新策略,来减少数据查询穿透到数据库,提高性能并降低对数据库的性能负载。
  • 服务编排:按照业务逻辑,以串行、并行和分支等结构编排多个API及函数服务为工作流。

数据应用

有了标准化的数据体系以后,针对数据进行分析和使用又是DataOps所关心的另一个维度的问题,这也是数据驱动的关键环节,也即以数据为中心进行决策,驱动业务行为。数据分析人员利用各种数据统计分析方法和智能算法,通过数据平台提供的数据服务API,对相关数据进行多维度、深层次的分析挖掘,支撑业务相关的数据应用场景,持续让数据用起来,真正发挥数据平台的业务价值。

不同的业务有各自的应用场景,所以这一部分很难面面俱到。本文仅简单介绍几种常见的数据应用场景,希望能帮助大家更好的理解,如何基于数据平台的数据资产和数据服务,进行数据分析和使用。

数据大屏:通过对数据进行分析计算,借助BI类软件,结合业务需求,以图表等形式,把一些关键的汇总性数据展示出来,实现数据可视化,为业务决策提供准确可靠的数据支持。

智能场景:属于AIOps范畴,基于数据平台的数据,通过AI算法,从数据中进行提炼、挖掘、洞察,为业务基于数据进行决策和运维运营时提供智能能力,获得更有前瞻性的数据支持。比较典型的智能应用场景包括像智能推荐、智能客服、智能预测以及健康管理等等。

当然,数据分析也并不是数据的终点,因为随着数据的沉淀,业务规模的扩大,很多数据分析的结果也可能会作为另一个更高维度模型的数据输入,被纳入数据平台的数据资产当中。因此,数据分析和开发人员需要从一个更高的维度和视角,整合海量的数据--这也就意味着数据处理的链路不是一成不变的,是在不断随着业务生长的,数据模型也是在不断演进的。

4. 总结

总的来说,DataOps 作为一种数据管理方式,利用 DevOps 方法论对数据的全生命周期进行管理,通过数据平台把数据变成一种服务能力,进而提升数据的使用效率,实现数据持续用起来的目标。以数据平台为承载,以数据场景为驱动,支持更大的创新空间和更优秀的业务模式。

SREWorks云原生数智运维平台,沉淀了阿里大数据运维团队近十年经内部业务锤炼的SRE数智化工程实践,包含DataOps在运维领域的最佳实践,欢迎体验。我们旨在秉承“数据化、智能化”运维思想,帮助更多的从业者采用“数智”思想做好运维。

参考材料

What’s the difference between agile, CI/CD, and DevOps? | Synopsys

当我们谈论 DevOps 时,我们在谈论什么? - 知乎

一文读懂DataOps-大数据

https://en.wikipedia.org/wiki/DataOps

DataOps: What is it? DevOps vs DataOps | Tamr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java多线程案例——阻塞队列(生产者消费者模型)

一,阻塞队列1.阻塞队列的概念和作用阻塞队列同数据结构中的队列一样都遵守“先进先出”的原则(不了解队列相关知识的朋友请查看之前队列的博文:(6条消息) 栈和队列(内附模拟实现代码)_徐憨憨!的博客-CSDN博…

功率放大模块如何选择(安泰功率放大器模块产品介绍)

功率放大器模块系列产品介绍 一、功率放大模块介绍 功率放大模块: 功率放大模块具有体积小,集成度高,使用方便,应用广泛等优点,凭借着输出频率广、输出电压高、输出功率大等特性,能够广泛应用在各种领域…

动态范围控制原理

DRC介绍 开门见山,动态范围的定义就是信号的最大幅值和最小幅值比值的对数(单位dB), 动态范围会受到系统中各个环节的影响。例如同样是这段音乐,在一个40dB背景噪声的环境中播放,那么由于掩蔽效应等因素的影响,最终实际…

前端跳转第三方网页中间页

前端跳转安全提示 掘金跳转中间页背景介绍跳转过渡页的优点实现原理解析哈喽啊小伙伴们久等了 消失了有半年了 ,因为个人工作原因没腾出时间给大家分享日常踩坑和特殊功能的讲解。不过这次我回来了就要好好分享了背景介绍 前端小伙伴一定知道CSDN 和 稀土掘金 两大…

Dev-C++下载安装详细教程

文章目录前言一、下载Dev-C二、安装Dev-C三、使用Dev-C打印HelloWorld总结前言 本文总结了关于Dev-C下载与安装的详细过程,并使用Dev-C打印了“Hello World!”。本篇博客面向C语言初学者,或者考研复试的学生使用,因为大部分学校的考研复试都使…

为什么 TCP 建立连接需要三次握手

TCP 协议是我们几乎每天都会接触到的网络协议,绝大多数网络连接的建立都是基于 TCP 协议的,学过计算机网络或者对 TCP 协议稍有了解的人都知道 —— 使用 TCP 协议建立连接需要经过三次握手(three-way handshake)。 如果让我们简…

多线程案例-线程池

1.什么是线程池线程存在的意义是当使用进程进行并发编程太重了,此时引入了一个"轻量级的"进程-线程.创建线程比创建进程更高效,销毁线程比销毁进程更高效,调度线程比调度进程更高效..此时我们就用多线程来代替进程进行并发编程了,但是随着对性能的要求的提高,线程相对…

大数据必学Java基础(一百一十八):什么是Maven和它的下载整合

文章目录 什么是Maven和它的下载整合 一、什么是Maven 二、IDEA默认整合了Maven 三、下载地址

【Linux】RHEL8 中nmcli使用,必备!

redhat8中nmcli日常使用 第 2 章 配置以太网连接 Red Hat Enterprise Linux 为管理员提供不同的选项来配置以太网连接。例如: 在命令行中使用 nmcli 配置连接。使用 nmtui 在基于文本的用户界面中配置连接。使用 RHEL 系统角色在一个或多个主机上自动配置连接。使…

电脑小问题:定时关机的设置

设置定时关机生活中,我们有时候需要对电脑进行定时关机。那么,如何设置定时关机呢?步骤如下: 1. 按 win R ,弹出命令窗口,输入 taskschd.msc ,点击确定。 2. 弹出任务计划程序窗口,…

使用ResNet34实现CIFAR10数据集的训练

如果对你有用的话,希望能够点赞支持一下,这样我就能有更多的动力更新更多的学习笔记了。😄😄 使用ResNet进行CIFAR-10数据集进行测试,这里使用的是将CIFAR-10数据集的分辨率扩大到32X32,因为算力相关的…

摘要/哈希/散列算法MD5 SHA1 SHA256 SHA512的区别和MAC算法

一、摘要算法大致都要经过以下步骤 1. 明文数据预处理 1.1 填充比特 MD5、SHA1、SHA256 的分组长度都是512bit 需要填充比特使其位长对512求余的结果等于448 SHA512 的分组长度是 1024bit 需要填充比特使其对1024求余的结果等于896 相同&am…

ECharts基本使用

文章目录Echarts概述Echarts初体验ECharts基础配置Echarts社区介绍Echarts-map使用Echarts概述 常见的数据可视化库: D3.js 目前 Web 端评价最高的 Javascript 可视化工具库(入手难)ECharts.js 百度出品的一个开源 Javascript 数据可视化库Highcharts.js 国外的前…

项目合并后,font字体资源被替换导致TextMeshPro不能显示文字,抢救方法

一,字体消失 项目合并时,因为资源更替,导致TextMeshPro不能找到自己原来使用的font资源,以致不能显示文字。 二、抢救方式 1、找到所有用到TextMeshPro的物体2、把他们的字体重新设置成你要的字体 关键步骤: 1、找…

赛事推荐| 建筑物实例分割和高度估计的多任务学习——2023 IEEE GRSS 数据融合赛道2

1. 赛题名称 联合建筑物提取和高度估计的多任务学习 2. 赛题背景 该轨道定义了建筑物提取和高度估计的联合任务。两者都是建筑改造的两个非常基础和必不可少的任务。与轨道 1 相同,输入数据是多模态光学和 SAR 卫星图像。单视图卫星图像中的建筑物提取和高度估计…

记录redis连接被打满的踩坑之路

一、系统异常现象系统有一个功能向别的系统多线程推送用户数据信息,前几天发现该推送功能报内部错误,经过查看后台日志文件,发现org.redisson.client.RedisConnectionException: Unable to connect to Redis server:,io.netty.cha…

使用docker训练yolov5

使用docker训练yolov5 配置docker,配置的好处是docker中的环境或者说容器坏了不影响主机,并且可以减少配置环境的时间和精力 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common # c…

Docker 部署SQL Server 2017

Docker 部署SQL Server 2017 Docker部署 registry Docker搭建 svn Docker部署 Harbor Docker 部署SQL Server 2017 Docker 安装 MS SqlServer Docker部署 Oracle12c 文章目录Docker 部署SQL Server 2017一、部署步骤1.下载镜像2.创建容器并运行二、参考文档一、部署步骤 1.下…

Unity 之 资源加载 -- 可寻址系统概念介绍 -- 入门(一)

可寻址系统面板概念 -- 入门(一)一,可寻址系统概念介绍1.1 官方话术1.2 几个概念二,可寻址系统目录介绍2.1 导入工程2.2 目录介绍概述:本片文章带大家了解可寻址系统的相关概念,为大家介绍可寻址系统导入方…

生成数据分析报告pandas_profiling.ProfileReport

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 生成数据分析报告 pandas_profiling.ProfileReport 选择题 对于以下python代码表述错误的一项是? import pandas as pd import pandas_profiling as pp dfpd.DataFrame({ a:[23,18,21], b:[…