我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

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

到了2015年左右,Netflix、Uber 和 Airbnb等大型数据导向的公司已经采用持续集成/持续部署 (CI/CD) 原则,甚至构建开源工具来促进数据团队的成长,于是DataOps诞生了。事实上,如果不管数据工程师有没有意识到这一点,他都可能已经将DataOps流程和技术应用到堆栈中了。在过去的几年里, DataOps作为一个框架在各种规模的数据团队中越来越受欢迎,它支持快速部署数据流水线,同时仍然提供可靠的、值得信赖的、随时可用的数据。DataOps可以使任何企业受益,这就是为什么我们要整理一份指南,来帮助大家消除对有关方面的误解。

在本指南中,我们将解释下面几个问题。

什么是DataOps? 

DataOps是一门融合数据工程和数据科学团队以满足企业在数据方面的需求的方法论,类似于DevOps帮助扩展软件工程的方式。与 DevOps将 CI/CD 应用于软件开发和运维的方式类似,DataOps需要一种类似于CI/CD、自动化优先的方法来构建和扩展数据产品。同时, DataOps使数据工程团队更容易为分析师和其他下游使用人员提供可靠的数据来驱动决策。

DataOps与DevOps 

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

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

多年来,DevOps团队已成为大多数科技企业不可或缺的一部分,消除了软件开发人员和IT人员之间的隔阂,促进了软件无缝且可靠地发布到产品中。随着DevOps在企业中越来越受欢迎,支持它们的技术栈开始变得越来越复杂。为了保持系统整体处于健康状况,DevOps工程师利用可观察性来监控、跟踪和分类事件,以防止应用程序停机。

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

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

总之,可观察性的三个支柱使DevOps团队能够预测未来的行为并信任他们的应用程序。

类似地,DataOps原则可帮助团队消除隔阂并更有效地工作,从而在整个企业内交付高质量的数据产品。随着公司开始从各种来源获取大量数据,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、拥抱“交付和迭代”文化

对于大多数数据驱动的企业而言,速度至关重要。而且,数据产品并不需要百分百完美才能增加价值。我的建议就是构建一个基本的MVP,对其进行测试,评估学习成果,并根据需要进行修改。我的第一手经验表明,通过在生产中使用实时数据进行测试和迭代,可以更快地构建成功的数据产品。团队可以与相关人员协作,监控、测试和分析模式,以解决任何问题并改善结果。如果经常这样做,将会有更少的错误并降低错误进入数据流水线的可能性。

4、引进自助服务工具

DataOps的一个重要好处是消除了数据在业务人员和数据工程师之间的隔阂。为了做到这一点,业务用户需要能够通过自助工具满足自己的数据需求。业务人员可以在需要时访问他们需要的数据,而不是让数据团队来满足业务用户的临时请求(这最终会减缓决策制定的速度)。Intuit的前工程副总裁Mammad Zadeh认为,自助服务工具在跨企业启用DataOps方面发挥至关重要的作用。“数据中心团队应确保数据的生产者和使用者都可以使用正确的自助式基础设施和工具,以便他们能够轻松完成工作,”Mammad告诉我们,“为他们配备正确的工具,让他们直接互动,不要设置任何障碍。”

5、优先考虑数据质量,然后才是扩展规模

在扩展的同时保持高数据质量并非易事。因此,从最重要的数据资产开始——没错,就是有关人员在做出重要决策时所依赖的信息。

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

企业可以从DataOps中受益的四种方式 

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

1、更好的数据质量

公司可以在其流水线中应用DataOps以提高数据质量。这包括自动化日常任务,例如测试和引入端到端可观察性,并在数据栈的每一层(从获取到存储到转换到BI工具)进行监控和警报。这种自动化和可观察性的结合降低了人为错误的机会,并使数据团队能够快速主动地响应数据停机事件——通常是在有关人员意识到出现任何问题之前。有了这些DataOps实践,业务人员可以获得质量更高的数据,遇到更少的数据问题,并在整个企业内建立对基于数据的决策的信任。

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

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

将繁琐的工程任务(例如连续代码质量检查和异常检测)自动化可以改善工程流程,同时减少企业内部的技术债务。

DataOps让团队成员更快乐,他们可以将宝贵的时间集中在改进数据产品、构建新功能和优化数据流水线上,以加快企业数据的价值实现的速度。

3、更快地获得分析见解

DataOp可自动执行通常需要花费数小时才能完成的测试和异常检测等工程任务。因此, DataOps为数据团队带来了速度,促进了数据工程和数据科学团队之间更快的协作。更短的数据产品开发周期可以降低成本(就工程时间而言),并允许数据驱动的企业更快地实现其目标。这是可能的,因为多个团队可以在同一个项目上并肩工作以同时交付结果。

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

4、降低运营和法律风险

当企业努力通过民主化访问来增加数据的价值,道德、技术和法律方面的挑战也将不可避免地增加。通用数据保护条例 (GDPR) 和加州消费者隐私法案 (CCPA) 等政府法规已经改变了公司处理数据的方式,并让公司努力将数据直接交到更多团队这个过程变得更复杂。DataOps——特别是数据可观察性——可以通过提供更多的可见性和透明度来帮助解决这些问题,即用户对数据的操作、数据输入到哪些表以及谁可以访问上游或下游的数据更清楚。

在公司实施DataOps 

关于DataOps的好消息是采用现代数据栈和其他最佳实践的公司可能已经将DataOps原则应用到他们的流水线中。例如,越来越多的公司正在招聘DataOps工程师来推动基于数据进行决策——

但这些职位描述,可能包括了已经由公司的数据工程师在处理的职责。DataOps工程师通常负责:

  • 开发和维护可部署、测试和记录的自动化设计脚本、流程和程序库。
  • 与其他部门合作,将源系统与数据湖和数据仓库进行集成。
  • 创建并实施测试数据流水线的自动化。
  • 在影响下游有关人员之前主动识别和修复数据质量问题。
  • 通过引进自助服务工具或为业务人员执行培训计划,来提高整个企业的数据意识。
  • 熟悉数据转换、测试和数据可观察性平台,以提高数据可靠性。

即使其他团队成员目前正在兼管这些职能,拥有一个专门的角色负责来构建DataOps框架也能提高可靠性,并简化采用这些最佳实践的过程。无论团队成员担任什么职务,就像没有应用可观察性就无法拥有DevOps一样,没有数据可观察性就无法拥有DataOps。数据可观察性工具使用自动监控、警报和分类来识别和评估数据质量和可发现性问题。这会带来更健康的流水线、更高效的团队和更满意的客户。

参考链接:https://dzone.com/articles/is-dataops-the-future-of-the-modern-data-stackv

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

随着数据扩展需求,团队需要开始优先考虑其可靠性。本文主要探究为什么 DataOps是可能的答案,以及我们该如何开始DataOps。
DataOpsDevOps2024-12-01

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

随着数据需求的扩大,团队需要开始优先考虑可靠性。本文将告诉你为什么DataOps可能是答案,以及你如何开始。
DataOpsDevOps2024-12-01

DataOps是“数据的DevOps”吗?

DevOps 一直以来都是转变 IT 工作方式的主要催化剂,它能够使项目变得更加敏捷,使企业能够更快的对客户需求作出响应。

支持大数据是CRM的未来吗?

行业专家Mark van Rijmenam博士撰写了一篇令人关注的文章,对大数据在CRM技术中的日益广泛应用进行了阐述。他指出,CRM的发展是因为大数据有助于为该技术添加新的能力。

Google BigQuery是大数据分析的未来吗?

Google BigQuery是一项运行在谷歌云平台中的用于收集和分析大数据(也称为数据仓库)的服务。它于2011年推出,因其采用无服务器架构而备受赞誉,该架构支持高度可扩展和快速提供的结构化查询语言(SQL)分析。

马云说:“未来是大数据的时代”

“很多人还没搞清楚什么是PC互联网,移动互联网来了,我们还没搞清楚移动互联的时候,大数据时代又来了。”这句话来自于马云的卸任演讲。他曾经还在演讲中说道:未来的时代将不再是IT时代,而是大数据的时代!

无服务数据库是未来的趋势吗?

通过将计算层与数据存储层分离,Aurora Serverless 能够以更精确的方式收取费用。对于具有可变工作负载、间歇性流量的应用程序,或那些不需要全天候数据库可用的应用程序,这可以节省大量成本。

现代数据栈是如何走向实时化的?

现代企业的需求和要求正在以戏剧性的方式转变。因此,旧的“批处理”模式正在让位于更细化、更高频率的实时更新,从而带来更新鲜的数据和更快的洞察力。
数据栈数据2024-12-02

无代码编程会是未来的趋势?是事实吗?

有人甚至认为,无代码编程将成为未来的趋势,程序员将会失业。但这真的是事实吗?让我们来深入分析这个问题。

为什么闪存是下一代数据中心的未来

闪存存储革命背后的驱动力之一是非结构化数据的指数级增长。 来自各种来源(包括社交媒体、传感器和物联网设备)的数据激增,迫切需要高效、敏捷的存储解决方案。 随着数据量持续激增,下一代数据中心必须适应处理信息的涌入。

虚拟现实是数据中心工作人员未来的培训基地吗?

根据调研机构Gartner公司日前发布的调查数据,随着企业继续实现数字化努力以支持远程工作或混合工作,全球公共云服务支出预计将在2021年增长8.4%,达到4.1万亿美元。

数据科学的现在与未来

数据科学是截至近年来技术领域中很具热度的方向之一。如果您拥有数据科学或者相关专业的工作经验及学位,那么只要大笔一挥、简历一发,一份薪酬可观的职位就会应手而得。

大数据时代来临,未来的商业模式,都将是智能化的

随着5G、物联网、云计算、大数据等技术的兴起,商业的形态将逐渐进入智能化的时代。那么什么是智能化商业,未来会给我们带来哪些变化和机会呢?请看下面的内容!

未来大数据时代下的智能交通是什么样的?

现在我们的城市交通系统还不够完美,你肯定能感受到早晚高峰的拥堵、交通事故的频发、交通中车辆的混乱等等,这些都是我们生活中常见的案例,让人烦不胜烦。这些问题可以解决吗,什么时候可以解决,这就涉及到智能交通。

低代码/无代码真的是应用软件开发的未来吗?

专家们说,尽管低代码/无代码工具和平台变得很流行很强大,但不会很快取代专业开发人员。

人工智能时代数据存储的未来

据预测,到2026年,超过80%的企业将利用生成式人工智能,而2023年初这一比例还不到5%。55%的组织正在试用或生产人工智能,我们可以预计,在未来两年内,生成式人工智能将占所有数据的10%,而目前这一比例还不到1%。

数据库字段的未来:迎接数据时代的新挑战

数据库字段的未来:迎接数据时代的挑战
数据库字段的未来:迎接数据时代的新挑战
2024-03-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录