DataOps是现代数据堆栈的未来吗?

news2024/9/20 14:57:03

DevOps 席卷软件工程世界之前,一旦应用程序启动并运行,开发人员就会一头雾水。

工程师不是第一个知道何时发生中断,而是只会发现客户或利益相关者何时抱怨“网站滞后”或 503 页面过多。

不幸的是,这导致了同样的错误反复出现,因为开发人员缺乏对应用程序性能的洞察力,并且不知道在出现故障时从哪里开始调试他们的代码。

 解决方案?现在广泛采用的 DevOps 概念是一种新方法,它要求开发人员 (Dev) 和运营 (Ops) 团队在软件部署和开发过程中进行协作和持续迭代。

到 2010 年代中期,Netflix、Uber 和 Airbnb 等以数据为先的大型公司采用了持续集成/持续部署 (CI/CD) 原则,甚至构建开源工具来促进数据团队的成长,DataOps诞生了.

事实上,如果您是一名数据工程师,您可能已经将 DataOps 流程和技术应用于您的堆栈,无论您是否意识到这一点。

在过去的几年里,DataOps 作为一个框架在各种规模的数据团队中越来越受欢迎,它可以快速部署数据管道,同时仍然提供随时可用的可靠和值得信赖的数据。

 DataOps 可以使任何组织受益,这就是为什么我们整理了一份指南来帮助澄清您对这个主题可能存在的任何误解。

在本指南中,我们将解释如何:

什么是数据运营?

DataOps 是一门融合数据工程和数据科学团队以支持组织数据需求的学科,其方式类似于 DevOps 帮助扩展软件工程的方式。

与 DevOps 如何将 CI/CD 应用于软件开发和运营类似,DataOps 需要一种类似 CI/CD 的自动化优先方法来构建和扩展数据产品。同时,DataOps 使数据工程团队更容易为分析师和其他下游利益相关者提供可靠的数据来推动决策制定。

DataOps 与 DevOps

虽然 DataOps 与 DevOps 有很多相似之处,但两者之间存在重要区别。

关键区别在于 DevOps 是一种将开发和运营团队聚集在一起以提高软件开发和交付效率的方法,而 DataOps 则侧重于打破数据生产者和数据消费者之间的孤岛,使数据更可靠、更有价值。

多年来,DevOps 团队已成为大多数工程组织不可或缺的一部分,消除了软件开发人员和 IT 之间的孤岛,因为它们促进了软件无缝、可靠地发布到生产环境。DevOps 在组织中越来越受欢迎,因为它们开始成长,并且为它们提供支持的技术堆栈开始变得越来越复杂。

为了持续了解系统的整体健康状况,DevOps 工程师利用可观察性来监视、跟踪和分类事件,以防止应用程序停机。

软件可观察性包括三个支柱:

  • 日志:在给定时间戳发生的事件的记录。日志还为发生的特定事件提供上下文。
  • 指标:一段时间内测量的数据的数字表示。
  • Traces:表示在分布式环境中相互关联的事件。

可观察性的三大支柱共同赋予 DevOps 团队预测未来行为并信任其应用程序的能力。

同样,DataOps 的纪律可帮助团队消除孤岛并更有效地工作,以在整个组织内交付高质量的数据产品。

DataOps 专业人员还利用可观察性来减少停机时间,因为公司开始从各种来源摄取大量数据。

数据可观察性是组织充分了解其系统中数据健康状况的能力。它通过监控和提醒团队注意可能在数天、数周甚至数月内未被发现的事件来减少数据停机(数据不完整、错误、丢失或其他不准确的时间段)的频率和影响。

与软件可观察性一样,数据可观察性包括其自身的一组支柱:

  • 新鲜度:数据是最新的吗?最后一次更新是什么时候?
  • 分布:数据是否在可接受的范围内?它是预期的格式吗?
  • Volume:数据都到齐了吗?是否有任何数据从表中复制或删除?
  • 模式:什么是模式,它有变化吗?是否有意更改架构?
  • 沿袭:哪些上游和下游依赖关系连接到给定的数据资产?谁依赖该数据进行决策,该数据位于哪些表中?

通过深入了解这些支柱中的数据状态,DataOps 团队可以了解并主动解决数据在其生命周期每个阶段的质量和可靠性问题。

DataOps 框架

为了促进从数据中更快、更可靠地洞察,DataOps 团队应用了一个连续的反馈循环,也称为 DataOps 生命周期。DataOps 生命周期从 DevOps 生命周期中汲取灵感,但考虑到数据不断变化的性质,它结合了不同的技术和流程。DataOps 生命周期允许数据团队和业务利益相关者协同工作,为组织提供更可靠的数据和分析。
以下是 DataOps 生命周期在实践中的样子:

  • 规划:与产品、工程和业务团队合作,为数据的质量和可用性设置 KPI、SLA 和 SLI(下一节将详细介绍)。
  • 开发:构建将为您的数据应用程序提供支持的数据产品和机器学习模型。
  • 集成:将代码和/或数据产品集成到您现有的技术和/或数据堆栈中。(例如,您可以将 DBT 模型与 Airflow 集成,以便 DBT 模块可以自动运行。)
  • 测试:测试您的数据以确保它符合业务逻辑并满足基本操作阈值(例如数据的唯一性或无空值)。
  • 发布:将您的数据发布到测试环境中。
  • 部署:将您的数据合并到生产中。
  • 操作:将数据运行到应用程序中,例如 Looker 或 Tableau 仪表板和数据加载器,为机器学习模型提供数据。
  • 监控:持续监控数据中的任何异常并发出警报。

这个循环会一遍又一遍地重复。然而,通过将 DevOps 的类似原则应用于数据管道,数据团队可以更好地协作来识别、解决甚至预防数据质量问题的发生。

DataOps 的五个最佳实践

与我们在软件开发领域的朋友类似,数据团队也开始效仿,将数据视为一种产品。

数据是组织决策过程的重要组成部分,将产品管理思维应用于构建、监控和衡量数据产品的方式有助于确保这些决策基于准确、可靠的洞察力。

在过去几年与数百个数据团队交谈后,我们总结了五个关键的 DataOps 最佳实践,可以帮助您更好地适应这种“数据如产品”的方法。

1. 尽早让利益相关者对 KPI 保持一致,并定期重新审视它们。

由于您将数据视为产品,因此内部利益相关者就是您的客户。因此,尽早与关键数据利益相关者保持一致并就谁使用数据、他们如何使用数据以及出于什么目的达成一致至关重要。为关键数据集制定服务水平协议 (SLA) 也很重要。与利益相关者就良好的数据质量达成一致有助于您避免在 KPI 或无关紧要的测量上出现循环。

在你和你的利益相关者达成一致后,你应该定期与他们核实以确保优先级仍然相同。Red Ventures 的高级数据科学家 Brandon Beidel 每周都会与公司的每个业务团队会面,讨论他的团队在 SLA 方面的进展。

“我总是会用简单的商业术语来组织对话,并专注于'谁、什么、何时、何地以及为什么,”布兰登告诉我们。“我会特别提出一些问题来探究数据新鲜度的限制,我发现这对业务利益相关者来说特别重要。”

2. 自动化尽可能多的任务

DataOps 的主要关注点之一是数据工程自动化。数据团队可以自动执行通常需要数小时才能完成的死记硬背任务,例如单元测试、硬编码摄取管道和工作流程编排。

通过使用自动化解决方案,您的团队可以降低人为错误进入数据管道的可能性并提高可靠性,同时帮助组织做出更好更快的数据驱动决策。

3. 拥抱“发布和迭代”文化

对于大多数数据驱动型组织而言,速度至关重要。而且,很有可能,您的数据产品不需要 100% 完美就可以增加价值。我的建议?构建一个基本的 MVP,对其进行测试,评估你的学习,并根据需要进行修改。

我的第一手经验表明,通过使用实时数据在生产中进行测试和迭代,可以更快地构建成功的数据产品。团队可以与相关的利益相关者协作来监控、测试和分析模式,以解决任何问题并改善结果。如果您定期执行此操作,就会减少错误并降低错误进入数据管道的可能性。

4.投资自助服务工具

DataOps 的一个主要好处是消除了数据在业务利益相关者和数据工程师之间的孤岛。为了做到这一点,企业用户需要能够自助满足自己的数据需求。

业务利益相关者可以在需要时访问他们需要的数据,而不是数据团队满足业务用户的临时请求(这最终会减慢决策制定速度)。Intuit 前工程副总裁 Mammad Zadeh 认为,自助服务工具在实现整个组织的 DataOps 方面发挥着至关重要的作用。

“中央数据团队应确保数据生产者和消费者都可以使用正确的自助服务基础设施和工具,以便他们可以轻松完成工作,”Mammad 告诉我们。“为他们配备合适的工具,让他们直接互动,然后让开。”

5.优先考虑数据质量,然后扩展

在扩展的同时保持高质量的数据并不是一件容易的事。因此,从最重要的数据资产开始——利益相关者做出重要决策所依赖的信息。

如果给定资产中的不准确数据可能意味着时间、资源和收入的损失,请注意该数据以及通过测试、监控和警报等数据质量功能推动这些决策的管道。然后,继续构建您的能力以涵盖更多的数据生命周期。(回到最佳实践#2,请记住,大规模数据监控通常会涉及自动化。)

组织可以从 DataOps 中获益的四种方式

虽然 DataOps 的存在是为了消除数据孤岛并帮助数据团队协作,但团队在实施 DataOps 时可以实现其他四个主要优势。

1. 更好的数据质量

公司可以在其管道中应用 DataOps 以提高数据质量。这包括自动化例行任务,例如测试和引入端到端的可观察性,并在数据堆栈的每一层进行监控和警报,从摄取到存储再到转换到 BI 工具。

这种自动化和可观察性的结合减少了人为错误的机会,并使数据团队能够主动快速响应数据停机事件——通常在利益相关者意识到任何问题之前。

有了这些DataOps 实践,业务利益相关者可以获得更好的数据质量,遇到更少的数据问题,并在整个组织内建立对数据驱动决策的信任。

2. 更快乐、更高效的数据团队

平均而言,数据工程师和科学家花费至少 30% 的时间来解决数据质量问题,而 DataOps 的一个关键部分是创建一个自动化和可重复的流程,这反过来又节省了工程时间。

自动执行繁琐的工程任务,例如持续的代码质量检查和异常检测,可以改进工程流程,同时减少组织内部的技术债务。
DataOps 让团队成员更快乐,他们可以将宝贵的时间集中在改进数据产品、构建新功能和优化数据管道上,以加快实现组织数据价值的时间。

3. 更快地获得分析见解

DataOps 可自动执行通常需要无数小时才能完成的工程任务,例如测试和异常检测。因此,DataOps 为数据团队带来了速度,促进了数据工程和数据科学团队之间更快的协作。

缩短数据产品的开发周期可以降低成本(在工程时间方面),并允许数据驱动的组织更快地实现其目标。这是可能的,因为多个团队可以在同一个项目上并肩工作以同时交付结果。

 根据我的经验,DataOps 在不同团队之间促进的协作可以带来更快的洞察力、更准确的分析、改进的决策制定和更高的盈利能力。如果 DataOps 得到充分实施,团队可以实时访问数据并调整他们的决策制定,而不是等待数据可用或请求临时支持。

4. 降低运营和法律风险

随着组织努力通过民主化访问来增加数据的价值,道德、技术和法律方面的挑战也将不可避免地增加。通用数据保护条例 (GDPR)和加州消费者隐私法案 (CCPA) 等政府法规已经改变了公司处理数据的方式,并在公司努力将数据直接交到更多团队手中时引入了复杂性。

DataOps——特别是数据可观察性——可以通过提供更多的可见性和透明度来帮助解决这些问题,包括用户对数据的操作、数据输入到哪些表以及谁有权访问上游或下游的数据。

在您的公司实施 DataOps

关于数据操作的好消息?采用现代数据堆栈和其他最佳实践的公司可能已经将 DataOps 原则应用于他们的管道。

例如,越来越多的公司正在招聘 DataOps 工程师来推动采用数据进行决策——但这些职位描述包括贵公司的数据工程师可能已经处理的职责。DataOps 工程师通常负责:开发和维护可部署、测试和记录的自动化设计脚本、流程和过程的库。与其他部门协作,将源系统与数据湖和数据仓库集成。创建和实施用于测试数据管道的自动化。

在影响下游利益相关者之前主动识别和修复数据质量问题。

提高整个组织的数据意识,无论是通过投资自助服务工具还是为业务利益相关者运行培训计划。

熟悉数据转换、测试和数据可观察性平台,以提高数据可靠性。

即使其他团队成员目前正在监督这些职能,拥有一个专门负责设计 DataOps 框架如何实现的专门角色将增加问责制并简化采用这些最佳实践的过程。

而且无论您的团队成员拥有什么职位,就像没有应用程序可观察性就无法拥有 DevOps 一样,没有数据可观察性就无法拥有 DataOps。

数据可观察性工具使用自动监控、警报和分类来识别和评估数据质量和可发现性问题。这会带来更健康的管道、更高效的团队和更快乐的客户。

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

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

相关文章

金九银十Java面试八股文大全1200道面试题附答案详解(2023版)

Java 面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。现如今,Java 面试的本质就是八股文,把八股文面试题背好,面试才有可能表现好。…

php怎么在线预览word文件?php预览.doc、.docx、.wps文件

php预览Word PHP要实现在线Word预览只需要3步 第一步: 准备一个文件地址,如下: http://usdoc.cn/vw/文件模板.docx 第二步 预览前置地址: http://vw.usdoc.cn/?src 第三步 开始预览 http://vw.usdoc.cn/?srchttp://usdoc.cn/vw/…

windows10家庭版禁用Device/Credential Guard解决方案

文章目录 背景(禁用的原因)解决的方式方式一:通过Windows本身的功能设置禁用 ( 非家庭版的使用)1. 禁用Device Guard或Credential Guard:2. 关闭Hyper-V选项3. 重启电脑 方式二:通过命令关闭Hyper-V ( Windows 10家庭版…

Liunx 安装 Miniconda与Python环境

在国内从官网上下载安装包会比较慢,下载最新版容易,过往版本不易寻找。生信软件一般建议使用过往的稳定版本,尤其是公司集群的系统版本低,很容易版本不匹配。推荐从清华大学的源下载。 下载 ## anaconda的官网地址 https://www…

网络层:IP数据报的发送和转发过程

网络层:IP数据报的发送和转发过程 笔记来源: 湖科大教书匠:IP数据报的发送和转发过程 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 IP数据报的发送和转发过程包含两个部分: 主机发送IP数据报 路由器…

Maven配置文件settings.xml 和 jar包下载失败处理

1.配置国内的Maven源1.1 mirrors代码 2.重新下载jar包3.其他问题 1.配置国内的Maven源 1.先打开自己的Idea检测Maven是否配置正确。 Idea的设置分两种:一是配置当前项目;二是配置新项目,所以下述所有配置操作我们需要操作两次 2.检查settings…

PMP项目管理证书是什么?有什么用?

什么是PMP证书? PMP全称是Project Management Professional,中文全称叫项目管理专业人士资格认证,是由美国项目管理协会(PMI)发起,严格评估项目管理人员知识技能是否具有高品质的资格认证考试,目的是为了给项目管理人…

3D格式转换工具HOOPS Exchange​助力Zuken打造电子设计自动化产品

行业:电子制造 挑战:对制造商来说,电子设计变得越来越复杂 - 电气和机械设计的融合需要将二维和三维数据结合起来 - 需要提供对多种不同CAD格式的支持 解决方案:HOOPS Exchange是用于快速、准确的CAD数据转换的领先SDK&#xff…

vscode右键点击,松开后自动触发鼠标所在位置的按钮(误触发双击效果)

例如如下,右键展开菜单,松手会自动触发转到声明功能 解决方案: 1、安装easystroke sudo apt-get install easystroke 2、打开easystroke,选择preferences tab 3、点击Gesture Button,在出现的框中右键单击一次 4、点…

基于python的数据集扩充增强

前言 数据增强技术在深度学习中得到了广泛的应用,它能够有效地扩充训练数据集的大小,提高模型的泛化能力,同时也能够有效地防止过拟合现象的发生。在本篇中,将讲解一种基于 Python 和 OpenCV 库实现的数据增强方法,并提…

Notes/Domino 14新变化

大家好,才是真的好。 一周没见,有没有分外想念? 这周马上要发布HCL Notes/Domino 14 Drop1版本,许多人摩拳擦掌,跃跃欲试。今天我们就不说功能,而从底层来说,这回14版本带来的变化真的很大&am…

JAVA如何学习爬虫呢?

学习Java爬虫需要掌握以下几个方面: Java基础知识:包括Java语法、面向对象编程、集合框架等。 网络编程:了解HTTP协议、Socket编程等。 HTML、CSS、JavaScript基础:了解网页的基本结构和样式,以及JavaScript的基本语…

掌握Scala数据结构(1)ARRAY、LIST

一、数组 (Array) (一)定长数组 1、数组定义 (1)定义数组时初始化数据、、 数组的静态初始化自动推断数组类型 手动指定数据类型 (2)定义时指定数组长度,后赋值 先定义,后赋值&…

不入耳蓝牙耳机音质好吗?音质表现好的不入耳蓝牙耳机推荐

​不入耳蓝牙耳机因其不入耳佩戴设计,受到很多人的喜欢,也更多人开始使用不入耳式蓝牙耳机了。为了让大家能更快选购不入耳蓝牙耳机,今天就让我来给大家介绍几款性能不错的不入耳蓝牙耳机,一起看看有哪些吧。 一、南卡OE不入耳蓝…

电流检测电路选高侧还是低侧

两种电流检测电路 在电路设计中,使用最广泛的电流采样方法是在电流回路中串联高精度的电阻,通过测量电阻两端的电压计算回路的电流值大小。具体检测方法有如下两种: 高侧电流检测 图1 高侧电流检测 如图1,高侧电流检测&#xff…

Selenium各种浏览器的驱动下载

Selenium各种浏览器的驱动下载 谷歌浏览器:​​​​​​Chrome驱动版本点击下载(如果打不开,可以点击淘宝源进行下载) 微软Edge浏览器:Microsoft Edge驱动版本点击下载 火狐浏览器:Firefox驱动版本点击下载 Chrome…

科技点亮课堂,智能黑板解决方案

教育信息化自诞生以来,一直都在不断地向上发展,随着教育信息化2.0、教育现代化2035等战略的推进,教育信息化的步伐逐渐加快,越来越多的学校开始采用智慧型教学终端部署,以更好地促进高效、公平、个性化的教学发展。智能…

索尼mxf播放花帧无声音的修复方法

索尼的影视级摄像机一般是用MXF文件结构,在一些极端情况下(如断电)会生成RSV文件,此时RSV文件无文件结构(无文件头、元文件、文件尾等)仅仅为数据EC内容,今天我们来说一个特殊的案例,封装只做了文件头结果出…

prometheus监控应用数据(二)

prometheus监控应用数据(二) 本文承接上篇文章prometheus监控应用数据(一)。使用开源软件prometheus对上篇文章中提及到的数据进行可视化监控。 本文使用docker进行prometheus的部署,准备以下两个文件,以及文件内内容如下所示: .env文件 # Container Ti…

【头歌-Python】9.1 X射线衍射曲线绘制(project)第1~2关

第1关:X 射线衍射曲线 任务描述 本关任务:读文件中的数据绘制线图形。 相关知识 为了完成本关任务,你需要掌握: 1.python 读取文件 2.使用 matplotlib 绘制图形 python 读取文件 python读取文件可以用以下函数实现&#xff1…