DataOps不是工具,而是帮助企业实现数据价值的最佳实践

2023-11-08 23:30

本文主要是介绍DataOps不是工具,而是帮助企业实现数据价值的最佳实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2008年,“大数据”一词在《大数据时代》中被首次提出,距今已有整整14个年头。在这14年中,许多人亲眼见证了数据的力量,以及目睹它如何改变世界。大部分企业的决策者都明白了一个道理:数据才是企业中最有价值的商品,它可以被人为选择成就还是破坏业务。

然而,自流行词“大数据”出现的14年后,如何获得更高质量的数据,以及更智能的数据管理,帮助企业做出明智和及时的决策,仍然是许多企业的“疑难杂症”。每个人的嘴里都在谈论数据治理和数据管理,却没有人真正知道该怎么办。

幸运的是,一种帮助企业提升数据分析质量和效率的方法论正在兴起,它就是DataOps。基于DataOps,企业数据中台可以实现数据利用率最大化,加快生产周期,及针对结果优化的数据管道。

今天,我们将展开说说DataOps,以及为什么它对于每一个想要真正实现数据赋能业务的企业都很重要。

一、DataOps是什么

DataOps(Data Operations)并不是一个新的概念,根据维基百科的说明,早在2014年就被IBM(Lenny Liebmann)提出,在2017年得到大范围关注,并在2018年正式被纳入Gartner的数据管理技术成熟度曲线当中。

今年,中国信通院正式牵头启动了DataOps的标准建设工作,以此为基础推动我国大数据产业的多元化发展,为企业经营决策提供数据支持。

同时需注意的一点,DataOps不是一个工具或产品,可以理解成一种「方法论,或者最佳实践」,类似软件开发中的「敏捷方法」。不能以功能的视角去看待DataOps,而是以「我应该如何做」的视角来看待此问题。

DataOps的目标是提供工具、过程以及结构化的方式来应对快速增长的数据,对企业内的数据团队赋能,能够使企业内的数据团队更高效、高质量的完成数据分析,它强调交流、协作、多系统集成以及自动化流程,并配套具备对应的度量方式。

二、DataOps的涵盖内容

下图为标准的DataOps涵盖的内容,主要包括数据技术、数据管道、数据处理3个方面,最终为商业用户输出价值。

file

原图出自:https://www.eckerson.com/articles/diving-into-dataops-the-underbelly-of-modern-data-pipelines

三、数栈DataOps实践

从发展上看,自2018年被纳入Gartner的数据管理技术成熟度曲线中以来,DataOps的热度逐年上升;从实践上看,欧美企业对于DataOps的探索和发展要早于中国,DataOps在我国仍处于一个从萌芽期到爆发期的关键过渡阶段。

数栈依据多年经验,通过敏锐的嗅觉快人一步开始探索DataOps的实践,总结出DataOps的3个层次+4个核心能力,助力企业加快数据洞察的步伐,具体分析如下:

file

1、基础层:多环境(集群)管理

在基础层,数栈支持多环境多集群管理,支持一套统一的平台来对接多套不同规模、不同类型的集群,支持Cloudera Hadoop、华为FusionInsight、华为MRS、星环Inceptor、Greenplum、GaussDB、MySQL等各类数据库作为计算引擎,提供统一的开发与应用体验,具备跨云部署以及对跨云EMR的兼容能力,面向多云场景提供统一开发、统一管控能力,用户可在不同的集群环境中(同类型引擎)实现代码及相关资源的无缝发布。

file

2、开发层:数据开发全链路

按照数据开发的基本过程,分为:模型设计、数据开发、部署上线、质量稽核4个步骤,日常用户的主要操作均是在这4个步骤之中,下面详细阐述:

1)模型设计

按照标准的数据中台建设模式,分为「制定标准」、「模型设计」2大部分。制定标准、模型的在线设计均可在数栈中在线进行,无需线下维护单独的数据标准文档、数据模型文档等内容,普通开发人员完成模型设计后,需提交管理员审核,模型经审核后允许上线/变更操作。

模型设计及标准制定可细分为6个单元,如下图所示:

file

其中数仓层级、规范设计、模型元素属于表级别定义,数据词表、词根、码表属于字段级别定义,数栈将6个单元以产品化的形式进行梳理、组合,便于企业建立自己的数据治理体系。

3)数据开发

数据开发环节,通过丰富的任务类型、代码的版本管理、责任人机制等,实现数据开发、数据分析的可持续发展,具体内容如下:

● 20+种丰富的任务类型

支持离线同步、实时同步、离线计算、实时计算、关系型数据库计算、管理节点、脚本任务等5大类,20+种不同的任务类型。用户可将企业内的数据采集、加工的各类离线、实时处理过程统一由数栈进行管理,实现一体化的数据开发平台。

● 数据测试

支持上传样本数据,模拟测试,进行数据逻辑验证与测试。

file

● 代码预检查

提交代码之前进行「预检查」,防止上线后发生问题。

file

未来数栈将在系统规则的基础上,支持自定义校验规则,用户可基于数栈暴露的接口进行自定义开发,例如代码JOIN次数限制、分区表禁止全表扫描、禁止跨数仓层级访问等规则,可通过自定义开发Jar包的方式进行自定义规则校验。

3)部署上线

用户完成开发后,需将代码从测试环境发布至生产环境,平台需支持快速的任务发布,将开发/测试环节的代码及其依赖资源快速发布至生产环境。

数栈的部署发布分为两种模式:

● 双项目模式

可将一个项目中开发的任务发布至另一个项目。双项目模式可以在代码层和底层数据层面实现很好的隔离性,保障数据安全。

● 导入导出式发布

对于物理环境隔离的场景,可将开发的任务代码、依赖的UDF函数、Jar包等关联资源一起导出为zip包,并在生产环境执行一键导入。

除了代码发布外,还支持代码的版本管理、版本对比、快速回滚能力。数栈能记录每次提交发布的任务代码和运行参数,并标注每个版本的修改内容,帮助定位代码问题,同时可支持一键版本回滚。

file

3)治理层:统一元数据 质量稽核

治理层主要包括统一元数据及质量稽核两块能力:

统一元数据

支持将数栈平台内的各类元数据汇聚、展示、打通、分析等,包括:元数据基础属性、离线表/任务、实时表/任务、API、标签、指标等各类元数据。

● 全域血缘打通

根据数据在中台内的采集、流转、对外服务等各环节的处理方式,自动建立全平台的血缘关系,基于核心的智能化SQL血缘解析能力,实现平台内跨应用的血缘打通,可视化展示数据的流转影响链路。

● 资产分析

可支持资产的版本变更记录/对比、数据产出分析、使用分析、质量分析等统计内容。

file

质量稽核

支持对数据进行质量校验,帮助企业及时发现数据问题。通过事前规则配置、事中规则校验、事后分析报告的流程化方式,对数据的完整性、准确性、规范性、唯一性、一致性等方面进行多维度评估,保障企业数据质量服务,支持规则配置、任务查询、实时校验等。

file

4)关键能力

数栈DataOps包括以下四大能力:

统一调度编排

数栈内置分布式调度引擎Taier,支持百万级别复杂依赖调度。调度平台在数栈内为底层通用能力,离线、实时、质量校验、标签、指标等各任务均使用统一的调度能力。

在此基础上,各产品模块之间可进行灵活的相互依赖,例如离线完成数据抽取+计算后,自动触发标签任务的计算等场景。

file

统一监控/告警

数栈支持统一的告警通道,不同的产品模块内可能都会使用告警能力,例如离线任务突破基线、实时任务失败、API调用失败、质量校验未通过等。针对某个告警通道仅需开发一次,即可再各个产品内使用此告警方式,例如短信、邮件,企业微信、钉钉、电话告警等。

file

模型设计

数栈在数据安全层面可分为如下几个方面:

● 系统安全

通过服务高可用部署、数据定期备份等策略保障服务安全。登录密码可按照长度、复杂度、强制定期更换等方式支持多种安全策略,密码采用国密加密传输+加密存储。

● 数据安全

底层可集成LDAP+Ranger+Kerberos数据安全组件。在Hadoop体系内可支持库、表、列、行级数据权限控制。在服务安全方面,可支持行、列权限控制、多种认证方式、国密加密等特性,保障用户数据安全。

● 安全审计

自动记录用户的关键操作行为、数据访问行为,可由管理员进行用户操作行为审计,排查异常行为。

file

团队协作

● 责任人机制

每个任务、表、标签、API、指标、告警配置等「资源」均建立责任人机制,当发生异常需配合排查时,可快速获取相关负责人,便于线下沟通。

● 一键交接

当发生人员变动时,支持一键交接,可批量将当前负责人的全部资源自动替换,便于工作交接。

● 用户组

当开发团队规模较大,需要再次细分时,可按照用户组的方式进行管理,例如按用户组批量添加用户、分配功能权限/数据权限、发送告警等场景,无需反复操作。

file

四、结语

随着时间的推移,数据的数量、频率、多样性都在增加,在一个万物皆可被度量的时代,数据积累的速度超过大部分企业跟上其脚步的速度。这也意味着能够帮助企业完成自动化日常任务,提高数据质量,促进不同团队之间的协作,带来更准确的洞察和分析,以及助力企业进入敏捷、自动化和加速的数据供应链环境的DataOps,未来将会在企业的数智化蜕变中,发挥不可小觑的作用。

企业实现 DataOps 有赖于一系列广泛的技术和流程,数栈目前已经在采集、加工、治理的核心流程上,通过版本控制、团队协同、一键发布、质量稽核、数据安全等能力实践了基本的DataOps理念,但依然有很多方面亟需改善,例如:利用AI/ML技术降低人为操作的成本与失误、对研发效能增加更多的的度量指标(Metric),以数据化的方式来衡量研发效能的增减等方面,均需要数栈团队,以及全行业一起努力。

原文来源:VX公众号“数栈研习社” 袋鼠云开源框架钉钉技术交流群(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:https://github.com/DTStack

这篇关于DataOps不是工具,而是帮助企业实现数据价值的最佳实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373068

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi