激活数据价值,探究DataOps下的数据架构及其实践丨DTVision开发治理篇
据中国信通院发布,2012年到2021年10年间,我国数字经济规模由12万亿元增长到45.5万亿元,在整个GDP中的比重由21.6%提升至39.8%。顺应时代发展新趋势,“数据”成为新的生产要素已是毋庸置疑的共识。
如果说数据中台的崛起代表着企业数字化转型从流程驱动走向数据驱动,从数字化走向智能化。那么DataOps,则是实现数据中台的一个优秀的理念或方法论。
DataOps的概念早在2014年即由Lenny Liebmann提出,2018年DataOps正式被纳入Gartner的数据管理技术成熟度曲线当中,标志着DataOps正式被业界所接纳并推广起来。虽然目前在国内仍处于发展初期,但是DataOps的热度逐年上升,在可预见的未来2-5年内将得到更加广泛的实践应用。
袋鼠云便是其中的一位探索者。作为全链路数字化技术与服务提供商的袋鼠云,从创立以来便一直深耕大数据领域。伴随着各行各业加速数智化转型的步伐逐年加快,对于数据治理、数据管理等方面的许多问题也逐渐显露。
为此,在技术进步和客户数字转型需求的驱动下,袋鼠云打造的一站式大数据开发与治理平台——数栈DTinsight,基于DataOps理念开展数据价值化流程,实现了数据全生命周期的质量监管和数据开发流程规范,为数据治理保驾护航。
响应变化
DataOps的核心理念之一就是及时响应需求端的变化。下面是一张很典型的企业数据架构图:
数据从左侧的源系统流入,中间环节是各类数据处理的工具,例如数据湖、数据仓库或数据集市、AI分析等,数据经过清洗、加工、汇总统计、数据治理等过程,最终通过BI、定制化报表、API等工具服务于各类需求方。

企业内的数据架构师或管理者,在定义平台架构时,一般主要考虑生产环境下的极致的性能、延迟、负载管理等问题,很多计算引擎/数据库都精于此道。但这种架构并没有体现出「响应快速变化」的能力:
这就像是设计一条公路,在设计时只考虑了正常情况下的通行能力,并没有考虑事故、堵车、暴雨等各种临时变化,在「上线」之后发现每日疲于应对,并没有提升太多通行能力(比如只有2个车道的隧道,一个小的剐蹭事故就可能把整条隧道堵住)。企业内的数据平台也会遇到类似的情况,企业内的数据工作者,每天甚至每个小时都要响应这种变化,有时一个简单的SQL变更上线甚至可能要花几天的时间。
在设计阶段考虑各种变化,可以更灵活、更稳定的响应,下面是DataOps视角下的数据架构。
DataOps视角下的数据架构
数据架构师在建设伊始就提出如下一些敏捷性的标准,例如:
• 任务从完成开发到发布生产,需要在1小时内完成,且对生产环境无影响
• 在发布至生产环境前,及时发现数据错误
• 重大变更,在1天内完成
同时需要考虑一些环境的问题,包括:
• 必需维护独立的开发、测试和生产环境,但要在一定程度上保证其一致性,至少是元数据的一致性
• 可以人工编排,或自动化的实现数据的测试、质量监控以及部署至生产环境
当架构师开始思考数据质量、快速发布、数据的实时监控等问题时,企业就向DataOps迈进了一步。
DataOps架构的分解与实践
讲完了DataOps视角下的数据架构,接下来来讲讲DataOps架构的分解与实践。DataOps具体实践可以分解为如下几个关键点:

多环境的管理
DataOps的第一步从「环境管理」开始,一般是指独立的开发、测试和生产环境,每个环境下都可以支持任务的编排、监控和自动化测试。
数栈目前可支持同时对接多套环境,只要网络相通,即可实现一套数栈对多个不同环境的统一对接和统一管理。数栈是通过Console中的「集群」概念来进行不同环境的区分,不同的集群可灵活对接各类不同的计算引擎,例如各类开源或发行版Hadoop、星环Inceptor、Greenplum、OceanBase,甚至MySQL、Oracle等传统的关系型数据库,如下图所示:

任务发布
承接上个步骤的多环境管理,在实际开发过程中,需要进行多个环境之间的任务发布,假设存在开发、测试、生产环境,则需要在多个环境之间进行级联形式的发布,如下图所示:

在这种多环境发布的情况下,数栈可支持三种方式进行发布管理:
● 一键发布
当各个环境网络相通,可使用一套平台对接各个环境,实现「一键发布」。一键发布过程中,仅有一定权限的用户才可以执行发布动作,提升生产环境稳定性。与此同时,可自动替换一些关键的环境信息,例如同步任务中的数据源连接参数、不同环境下的算力配置等。一键发布比较适合SaaS或内部云平台的管理方式。
● 导入/导出式发布
在目前国内接触的绝大多数场景中,客户为了实现更高的安全等级,生产环境会采用严格的物理隔离。这种场景可以采用导入导出的方式实现任务的跨环境发布,用户可手动将新增、变更或删除的任务导入至下游环境。
● Devops发布
某些客户可能已经采购或自研了公司级的线上发布工具,此时需要数栈定制化的对接其接口,将相关变更信息由第三方CI工具(例如Jekins)代为执行发布。

代码的版本管理
每次进行跨环境的发布时,需要记录每次发布代码的版本,便于后期排查问题。在实际场景中,经常需要进行不同版本间的代码对比、版本回退等操作。
数栈除了支持对代码内容进行对比之外,还支持对任务相关的更多信息进行对比,包括任务调度周期的配置、任务执行参数、环境参数等,并可以「一键回退」至指定的版本。

访问与权限管理
在企业内的多个环境中,一般对生产环境的要求最高,对开发和测试环境相对宽松。在这种情况下,即需要管理用户在不同环境下的认证或访问信息。实际上为了开发和测试方便,且没有敏感数据,在这2个环节,一般是普通用户都有全部的数据权限,并可以访问各种工具,但在生产环境中,用户肯定只有自己权限范围内的数据权限。
根据引擎的不同,数栈可支持多种数据权限管理方式,包括:
● Hadoop引擎
以Kerberos为基础的认证安全+以Ranger/LDAP为基础的数据安全。可以支持库、表、字段级别的数据权限控制。同时可支持数据脱敏。

● JDBC类引擎
部分场景中,客户可能并未采用Hadoop来建设数据平台,而是采用一些JDBC类的数据库(例如TiDB、Doris、Greenplum),而数栈本身并不管理JDBC数据库的权限,而是采用账号绑定的方式来控制,以此区分不同账号的权限,例如:
· 数栈A账号,绑定数据库root账号
· 数栈B账号,绑定数据库admin账号
● 任务编排、测试与监控
在发布上线至生产后,数栈可将上述各个环节串连起来,用户从开发阶段可以一键发布至测试环境,经测试环境验证后,观察任务实例、数据产出的运行情况,运行无误后可发布至生产环境。
写在最后的话
DataOps是一种最佳实践的理念,但目前在国内还处于比较早期的阶段,数栈在这方面有过一些实践经验,但还有不少可以优化的内容,比如数据质量的规则也需要跨环境发布、任务代码、任务模板的导出需要支持更多的任务类型等等,期待未来行业内有更多的DataOps的最佳实践能产生。
袋鼠云开源框架钉钉技术交流qun(30537511),欢迎对大数据开源项目有兴趣的同学加入交流最新技术信息,开源项目库地址:https://github.com/DTStack/Taier
激活数据价值,探究DataOps下的数据架构及其实践丨DTVision开发治理篇的更多相关文章
- 亿级流量场景下,大型架构设计实现【2】---storm篇
承接之前的博:亿级流量场景下,大型缓存架构设计实现 续写本博客: ****************** start: 接下来,我们是要讲解商品详情页缓存架构,缓存预热和解决方案,缓存预热可能导致整个系 ...
- EF – 3.EF数据查询基础(下)数据关联
5.5.1 <关于“数据关联”,你不一定清楚的事> 这讲视频比较全面地介绍了“一对一”.“一对多”和“多对多”三种数据关联类型在关系数据库和Entity Framework数据模型中的实现 ...
- 雷林鹏分享:jQuery EasyUI 表单 - 过滤下拉数据网格
jQuery EasyUI 表单 - 过滤下拉数据网格 下拉数据网格(Combogrid)组件和下拉框(Combobox)组件的共同点是,除了都具有下拉面板以外,它们都是基于数据网格(Datagrid ...
- linq根据传入数据集合查询对应子级数据
工作中经常用到的linq根据传入数据集合查询对应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点对应ID数据集合,再根据ID数据集合查询全部子级数据. //获取缓存数据 ...
- linq依据传入数据集合查询相应子级数据
工作中经经常使用到的linq依据传入数据集合查询相应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点相应ID数据集合,再依据ID数据集合查询所有子级数据. //获取缓存 ...
- SQL Server 2016五大优势挖掘企业用户数据价值
SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...
- 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)
二.Work Queues(using the Java Client) 走起 在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...
- 释放DT时代释放金融数据价值,驱动金融商业裂变
摘要:客户微细分模型上线华为云ModelArts,看如何以AI科技挖掘金融数据价值. 当前信息化浪潮席卷全球,新一轮的科技革命和产业革命推动金融行业发展到全新阶段.人工智能2.0时代,智慧金融方兴未艾 ...
- 数据中台实战(一):以B2B电商亿订为例,谈谈产品经理视角下的数据埋点
本文以B2B电商产品“亿订”为实例,与大家一同谈谈数据中台的数据埋点. 笔者所在公司为富力环球商品贸易港,是富力集团旗下汇聚原创设计师品牌及时尚买手/采购商两大社群,通过亿订B2B电商.RFSHOWR ...
- 释放数据价值:DAYU数据运营新能力解读
摘要:从比特到信息,这说的其实就是企业数字化转型,让数据的价值充分发挥出来,变成信息. 今天,企业对数据越来越重视,数据已经成为了企业新型的资产,甚至是核心资产,最近流传一句非常有意思的话:从比特到信 ...
随机推荐
- SDF矩形(附圆角)公式推导
SDF矩形(附圆角)公式推导 矩形 一般情况下,我们会使用(top_left, top_bottom), (width, height)来定义一个矩形,但是对于SDF而言,使用(centerX, ce ...
- Zotero 设置坚果云同步(使用 WebDAV 的方法)
1.坚果云设置 登录坚果云:官网,注册账号 1.建立个人文件夹:zotero 2.在网页打开右上角的 账户信息,并选择 安全选项 在页面下方选择 添加应用 并输入与前面文件夹对应的名称 zotero ...
- 深入理解Hadoop读书笔记-4
背景 公司的物流业务系统目前实现了使用storm集群进行过门事件的实时计算处理,但是还有一个需求,我们需要存储每个标签上传的每条明细数据,然后进行定期的标签报表统计,这个是目前的实时计算框架无法满足的 ...
- 离线版nrfutil工具安装方法
简介 nrfutil是Nordic提供的命令行工具集.支持以下功能: 基于Jlink的固件烧录.读取.flash擦除.recover 基于MCUBOOT的固件升级(DFU) 基于nRF5 bootlo ...
- D常用快捷键大全(转)
Ctrl+PageUp将光标移至本屏的第一行,屏幕不滚动.Ctrl+PageDown将光标移至本屏的最后一行,屏幕不滚动.Ctrl+↓向下滚动屏幕,光标跟随滚动不出本屏.Ctrl+↑向上滚动屏幕,光标 ...
- 安装yml 与 wget
一.备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-B ...
- 使用CAMEL创建第一个Agent Society
CAMEL介绍 CAMEL 是一个开源社区,致力于探索代理的扩展规律.相信,在大规模研究这些代理可以提供对其行为.能力和潜在风险的宝贵见解.为了促进这一领域的研究,实现了并支持各种类型的代理.任务.提 ...
- 康谋分享 | AD/ADAS的性能概览:在AD/ADAS的开发与验证中“大海捞针”!
如果您希望从数百万小时的驾驶数据中查找特定的相关驾驶事件和未遂事故,以确保您的所需功能正确运行,最好的方法就是创建一个系统性能的概览分析,实现在数据日志中快速检索关注点.为此,康谋在本文将为您详细介绍 ...
- MySQL 索引的最左前缀匹配原则是什么?
MySQL 索引的最左前缀匹配原则 最左前缀匹配原则是 MySQL 使用联合索引时的一个重要优化规则.它指的是在查询条件中,只有符合索引最左侧字段开始的连续前缀部分时,索引才能被有效利用. 1. 最左 ...
- symfony或doctrine报错:Object of class App\Entity\* could not be converted to string
报错: Catchable Fatal Error: Object of class App\Entity\ProjectType could not be converted to string 版 ...