关于大数据:激活数据价值探究DataOps下的数据架构及其实践丨DTVision开发治理篇

51次阅读

共计 2939 个字符,预计需要花费 8 分钟才能阅读完成。

据中国信通院公布,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

正文完
 0