架构设计参考项目系列主题:一文讲透DataOps数据运营到底是什么

news2025/3/1 16:09:06

DataOps,即Data和Operations组合。是在数据分析过程中,提升数据质量,减少数据分析的周期时间,提高效率的一系列实践,现在逐渐发展成了一门方法论。DataOps适用于从数据准备到报告的整个数据生命周期。

DataOps是一门快速发展的学科,用来管理不规则数据管道,这些数据管道遍布于各大公司的环境中。

曾几何时有那么一段美好的日子,只有两个数据管道:一个支持生成通用报告和分析活动的数据仓库,以及一个为投资者和董事会提供审计数字的财务报告的数据管道。如今,随着自助服务分析和机器学习的发展,公司拥有的管道数量随着数据分析师,数据科学家和需要大量数据的应用程序的增多而增多。每一个都需要专门的数据集和数据访问权限才能产生内容。这简直是管道爆炸!

如果没有DataOps,每个数据管道都将成为一个数据孤岛,与其他数据管道,数据集和数据生产者几乎没有关系。没有协作或重用,浪费大量的人工和返工,有大量的错误和数据缺陷,并且交付时间极慢。商业用户除了信任自己的数据外不信任任何数据,而且许多用户需要在没有任何数据或没有足够数据的情况下做出决策,因为他们等不及了。

DevOps的降临。在引入敏捷开发和DevOps技术之前,软件工程界一直受到类似问题的困扰。如今,DevOps的先驱例如Amazon,Google和LinkedIn等公司每天(甚至每小时或更快)部署软件版本,这是几年前无法想象的发展节奏。令人惊讶的是,即使周期时间加快了,软件错误和缺陷也有所减少。容器化和微服务的问世将进一步加速和强化软件交付周期。简而言之,DevOps可以以更低的成本更快地提供更好的代码。

对于DataOps来说

数据挑战。看到打破僵局的机会,数据世界正在紧紧抓住DevOps原则。 DevOps管理代码,工具和基础架构之间的联系,以加快应用程序功能的交付,而DataOps添加了第四个元素——数据——比其他三个元素相加更难以控制!在每个管道中,必须对数据进行标识、捕获、格式化、标记、验证、画像(profiled)、清理、转换、组合、聚合、保护、分类、治理(governance)、移动、查询、可视化、分析和操作。 呜!随着组织从数百个数据源收集大量数据,这些任务变得越来越复杂。

工具和人员。此外,每个任务还需要专门的工具管理。这些工具的范围从传统的ETL / ELT,数据质量和主数据管理工具到数据目录,数据准备和数据治理产品,再到报告,数据可视化和数据科学工具。这些工具中的每一个针对不同类型的用户——从IT部门的系统工程师和数据库管理员——到BI团队中的数据工程师,数据管理员和报表开发人员——到数据分析师,数据科学家和数据使用者业务部门。

协调所有的这些工具,技术和人员是一项巨大的工作,特别是在拥有规模庞大的开发团队,来自数百个来源的大量数据以及该领域的大量数据分析师和数据科学家的大型组织中。这就是为什么DataOps会发展起来。

DataOps框架

定义DataOps非常困难。它包含很多零件和过程。图1是试图绘制DataOps环境的关键组件的简化图。为了简化此环境,某些组织倾向于从单个供应商那里采购所有组件,例如大型软件或云提供商(例如Microsoft,Amazon,Oracle或IBM)或大数据工程专家(例如Infoworks)。其他人则喜欢使用一些最佳组合,用编排和监控工具将开源的组件和商业组件结合在一起。

数据管道

图1中间的黑色箭头表示典型的数据管道,源数据通过管道逐步移动到三个阶段(数据采集,数据工程和数据分析)。这些管道代表了一个数据供应链,这个数据供应链可以处理,优化和丰富数据,以供各种业务用户和应用程序使用。一个管道可能会填充财务使用的OLAP多维数据集;另一个可能将集成的客户数据传递到实时Web应用程序;另一个可能会为建立活动响应模型的数据科学家创建一个细分的原始数据池。

数据技术

数据管道下方是用于采集,精炼和分析数据的主要技术类别。媒体最关注这四个类别:数据捕获,数据集成,数据准备和数据分析。因为这就是钱的来源——软件供应商每年通过销售数据产品产生数十亿美元的收入!不幸的是,对数据技术的过分重视,使得更为重要的数据过程变得黯然失色,而数据过程则是协调和驱动这些数据技术的。 (请参见下面的“数据处理”。)

如今,随着组织从批处理架构转向流式架构以支持大数据和物联网,数据捕获已成为热门技术类别。数据集成已成为传统数据仓库项目的基础,现在已成为主流。数据准备是一项新技术,旨在帮助数据分析人员建模自己的数据集,理想地利用IT管理的存储库(例如数据湖)中的数据。 数据分析师通过为商业用户提供查询,分析,可视化和共享见解的工具来完成该数据周期。

团队和交接。IT部门通过采集和集成数据来启动数据供应链。这个数据通常被创建成通用的,面向主题的数据文件。然后,数据工程团队将对数据进行查询和建模,以满足特定的业务需求和用例。最后,商业用户查询和分析目标数据集以创建报告,仪表板和预测模型。尽管本质上是线性的,但该循环还是有可能存在中间迭代,其中包含许多必须存储,跟踪和管理的中间步骤和文件。

数据存储是支持数据技术和团队的关键,其中包括在高性能列式数据库上运行的数据仓库,数据湖和数据沙箱。数据存储下面是计算架构,越来越多的计算架构是基于云,虚拟化,弹性的以及大规模并行的。

数据处理

那些试图仅仅依赖技术来构建和管理管道的组织注定要失败。它不仅需要技术,还需要定义明确的过程和方法来构建、更改、测试、部署、运行以及跟踪新功能和修改后的功能。它还需要管理这些过程生成的所有工件,包括代码、数据、元数据、脚本、指标、维度、层次结构等。而且,它需要协调数据技术并供给数据以及监控开发,测试和生产过程。这需要作业调度,事件触发器,错误处理和性能管理,以满足服务级别协议。

开发和部署。前两个阶段(开发和部署)通过敏捷和DevOps方法得到了很好的定义。在这里的目标是和自治的、懂得业务的团队一起开发新功能,这些团队可以在短短的时间内(通常在两周或更短的时间内)开发出经过全面测试和功能的代码。为了同步开发,团队将代码存储在应用版本控制的中央存储库中,以避免覆盖和重复工作。他们还使用技术和工具无缝地合并代码,并以最小的延迟将代码移入生产环境(即,持续集成和持续部署CI/CD)。这些工具和系统配置集中存储并维护在配置库中。

有许多工具可以支持开发和部署的流程。你可以选择从头开始构建新的应用程序或用例,或者修改现有的用例。Git是一个很好的工具,它用于存储代码和控制版本,而Jenkins是支持CI/CD流程(即合并和部署代码)的开源工具。在数据世界中,有许多针对特定类型管道的开发和部署工具,包括数据仓库开发(即数据仓库自动化工具)和创建机器学习模型。

编排。DataOps的核心和灵魂在于编排。在管道中移动,我们需要具有众多依赖关系的复杂任务工作流来处理和丰富数据。一些著名的数据编排工具如Airflow,一些开源项目如,DataKitchen,StreamSets和Microsoft Azure的DataFactory。一个好的编排工具可以很好的协调数据开发项目的所有四个组成部分:代码,数据,技术和基础架构。在DevOps环境中,业务流程工具使用容器编排框架(例如Kubernetes)来激活和协调容器以支持这些流程(如开发、测试、staging和生产环境)。

在数据世界中,业务流程工具不仅提供了新的开发/测试/生产环境。它们还负责在管道中不同阶段之间移动数据,并实例化对数据进行操作的数据工具。他们一边工作,一边监控进度,还要将错误归纳到合适的界面并发出警报。例如,在云环境中,DataOps编排工具可能会执行以下操作:

  • 设置平台(例如数据库,存储容量,访问控制列表,性能管理工具,数据目录,日志服务器和监视工具)。

  • 触发采集作业。监视作业(批处理或流式传输),检测故障并从中恢复,监视容量并在需要时触发自动缩放。

  • 触发数据质量作业。分析和验证数据,检查血缘。

  • 快速启动数据转换。一旦采集的数据集获得了通过健康检查,编排工具可能会启动转换代码来合并,格式化和聚合数据元素。

  • 触发BI工具。以将数据下载到其自己的列式存储中,或发送一个通知,告知已准备好进行查询和分析的新数据集。

  • 监控工作流程。成功完成工作流程后,程序会向适当的人员发出通知,并释放基础架构。

持续测试和监控。 DataOps环境的最后组成部分是测试环境。理想情况下,团队在开发任何代码或功能之前就写好了测试。然后,业务流程工具在管道中的每个阶段之前和之后运行测试。在启动和集成时,在上游捕获错误和问题可以节省大量时间,金钱和麻烦。诸如Great Expectations和ICEDQ之类的工具就支持持续的测试环境。还有一些产品提供对工具,应用程序和基础架构的持续监控,以确保最佳的正常运行时间和性能。 Unravel就是面向大数据处理的应用程序性能管理(APM)产品之一。

使用测试作为基本构建块的开发团队的要比那些不使用的团队开发速度更快。对于大多数想在开始之前不进行测试的情况下潜入项目的开发人员来说,这起初是违反直觉的。但是一旦测试到位,开发人员就可以在发现难以解决的代码之前迅速发现问题。通过持续的测试和监控,团队可以设定性能目标,衡量输出并不断改善其周期时间和质量。

结论

DataOps的目标是为了使数据管道和应用程序的开发变得更加严谨,可重用和自动化。 DataOps可以帮助数据团队从数据孤岛,以及被积压和无休止的质量控制问题缠身的状况转变为敏捷,自动化和加速的数据供应链,并且它能持续改善并为企业带来价值。

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

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

相关文章

10、Python -- 案例实操 : 随机大写字符存入列表

目录 随机大写字符存入列表 :步骤使用列表推导式 创建列表 生成随机数、大写字符 numpy模块生成随机数 随机大写字符存入列表 :步骤 创建列表 生成指定范围的随机数 随机数转字符 字符存入列表 使用列表推导式 方法一:range(10)控制循环10…

SAP HANA Time Zone设置

通常对于MINICHECK中检查出来的Timezone时区设置问题,可以通过以下方式进行修改 对于ABAP系统 修改HANA 参数即可 • indexserver.ini -> [global] -> timezone_default_data_client_name 000 • indexserver.ini -> [global] -> timezone_default_da…

基于大数据的股票量化分析与股价预测系统 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

黄金现货操作与盈亏

现在作黄金现货买卖,投资者已经完全以电子化的方式来进行,国内和香港的投资者,通过香港的正规平台入市,可以获得50倍的资金杠杆,以及全天候交易的机会,只要掌握了一些基本的操作方式,所有投资者…

中文编程开发语言工具系统化教程初级1上线

中文编程系统化教程初级1 学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半功倍的效果。对于初学者,可以通过下面的方法学习编程,…

为虚拟网络提供敏捷负载均衡:Everoute LB 特性解读

为了保证应用系统的可用性,同时避免并发访问导致后端服务器出现性能瓶颈,不少用户都通过负载均衡技术优化流量分发。随着虚拟化平台下用户业务规模的持续扩大,虚拟化网络的数据访问量也不断增加,而传统负载均衡通常通过硬件负载均…

田忌赛马(贪心算法)

分为两种情况: 1.田最快 快于 王最快(田最快面对任何都赢) ->故和王最快比,消耗王最快 2.田最快 小于等于 王最快(王最快面对任何都可赢) 则比最慢(意在找一匹无法赢任何马的马&#…

CentOS7 安装 nodejs

获取安装文件 node历史版本地址 安装 上传到服务器安装位置cd 到压缩包位置,执行解压安装操作 [rootps-fdcnops-01 /]# cd usr/local/nodejs/ [rootps-fdcnops-01 nodejs]# tar -xzvf node-v16.16.0-linux-x64 配置环境变量 [rootps-fdcnops-01 nodejs]# vim /…

基础课8——知识图谱

1.概念 知识图谱是一种结构化的知识表示方式,将实体、属性和关系以图形的形式进行表达和组织。它通过对知识进行结构化建模,将不同实体之间的关系进行编码,形成一个图结构的知识网络。知识图谱的目标是将人类的知识整合到一个统一的框架中&a…

WoShop跨境电商源码支持多语言和多货币吗?

WoShop跨境电商源码是一款集成多语言和多货币功能的电商平台。它通过使用现代化的技术与设计,为用户提供了一个无缝的国际化购物体验。无论您是运营在哪个国家,在任何货币和语言环境下,WoShop都能满足您的需求。 多语言支持 WoShop跨境电商源…

Linux驱动基础篇(一)GPIO(上)LED驱动

文章目录 Linux驱动基础(一)GPIO(上)LED驱动一、开发环境准备1.安装交叉编译工具编译内核(1)安装交叉编译工具(2)修改Makefile指定编译器和架构(3)生成配置文…

小知识(7) wangEditor富文本编辑器简单引入(vue3)

wangEditor富文本编辑器 https://github.com/wangeditor-team/wangEditorhttps://www.wangeditor.com/ 一、安装 cnpm install wangeditor/editor --savecnpm install wangeditor/editor-for-vuenext --save二、使用 BaseEditor.vue <template><div style"b…

CSS 基础知识-02

CSS 基础知识-01 1. flex布局 1. flex布局

蓝桥杯每日一题2032.10.24

蓝桥杯大赛历届真题 - C 语言 B 组 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 由于布局为两个字节为一行&#xff0c;那我们输入两个数就为一行&#xff0c;但是这两个数全部得用二进制进行表示使用bitset bitset:将一个数转化为二进制 bitset<8>:将一个数转化为8位…

4种实用的制作URL 文件的方法

很多小伙伴有自己的博客、淘宝或者共享文件网站&#xff0c;想要分享、推广自己的网址做成url文件&#xff0c;让别人点击这个url文件直接访问自己的网站。URL文件其实就一个超级链接&#xff0c;制作的方法很多&#xff0c;这里列举4种。 收藏网站直接拖拽 1.第一种&#xf…

小知识(5) el-table行样式失效问题

一、实现效果 子级呈现不同颜色去区分 二、最初代码 tips: 我这里使用的vue3 elementplus <el-table :row-class-name"tableRowClassName" >... </el-table>function tableRowClassName({ row, rowIndex }) {if (row.children.length 0) {return …

nestJs(一) 创建node项目

开发准备 1、安装 Node 环境. 下载安装后&#xff0c;Node > 10.13.0 即可, 可通过命令行检查 node -v 2.安装 NestJS cli npm i -g nestjs/cli创建 nest-test 项目 // step1 nest new nest-test// step2 Which package manager would you 选择: npm目录结构 src|- app…

QLable 类使用教程

文章目录 1、简介2 、公共类型3、属性4、functions4.1、访问属性相关 function4.2、公共槽4.3、Signal4.4、其他方法 QLabel 内容长度超过控件本身长度时处理1、QLabel 内容长度超过控件本身长度时超出的部分用省略号2、QLabel 内容长度超过控件本身长度时使用定时器滑动显示文…

【T3】畅捷通T3备份账套提示:超时已过期,错误‘53‘文件不存在。

【问题描述】 针对畅捷通T3软件&#xff0c;进行账套备份&#xff08;账套输出&#xff09;的时候&#xff0c; 先是提示”超时已过期“&#xff1b; 点击确定后&#xff0c;再次提示&#xff1a;运行时错误53&#xff0c;文件未找到。 最终导致账套备份/输出失败。 【解决…