袋鼠云数栈 DataOps 数据生产力实践,实现数据流程的自动化和规范化

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 袋鼠云数栈在7年多的研发历程中为上千家客户提供了数据生产效率提升解决方案,也在这个过程中不断地将 DataOps 的理念融合到产品中,助力越来越多的企业成功实现数字化转型升级。本文将就数栈基于 DataOps 的敏捷、高质量数据生产力实践进行分享,希望对大家有所帮助。

袋鼠云产品团队在帮助企业进行数字化转型实践的过程中,发现很多企业在数据生产链路上都有着相同的问题。包括数据团队聚焦于业务需求短期内的快速交付,内部缺少自顶向下的数据生产管理制度,在数据标准、数据生产流程到研发规范的各个层面均存在不完善与不规范之处;很多环节依赖人工操作,团队协作效率低,业务需求影响慢,存在大量的重复数据建设;先开发后治理的模式也往往导致历史债越来越沉重。


数字化转型实践走在前列的企业都在积极寻找数据生产效率提升的办法,而 DataOps 的出现,从理论和实践上形成了一套成熟的解决方案,让上述问题迎刃而解。


作为国内领先的数字化基础软件与应用服务商,袋鼠云数栈在7年多的研发历程中为上千家客户提供了数据生产效率提升解决方案,也在这个过程中不断地将 DataOps 的理念融合到产品中,助力越来越多的企业成功实现数字化转型升级。


本文将就数栈基于 DataOps 的敏捷、高质量数据生产力实践进行分享,希望对大家有所帮助。

DataOps 基础概念

如果说数据中台的崛起代表着企业数字化转型从流程驱动走向数据驱动,从数字化走向智能化。那么 DataOps,则是实现数据中台的一个优秀的理念或方法论。


DataOps 的概念早在2014年即由 Lenny Liebmann 提出,2018年 DataOps 正式被纳入 Gartner 的数据管理技术成熟度曲线当中,标志着 DataOps 正式被业界所接纳并推广起来。


信通院和大数据技术标准推进委员会在今年的数据资产管理大会中提出,DataOps(数据研发运营一体化)是一种面向数据全生命周期,以价值最大化为目标的最佳实践。它通过重构企业内数据生产组织、流程和工具,综合利用研发管理、交付管理、数据运维三项核心技术能力,价值运营、系统工具、组织管理、安全风险四项保障能力来实现数据研发运营的一体化、敏捷化、精益化、自动化、智能化、价值显性化理念。


目前国内已经有包括工商银行、农业银行、浙江移动、联通数科等企业成功实践了 DataOps,实现了数据生产力的跃迁。

数栈基于 DataOps 的数据运营实践

数栈是袋⿏云打造的⼀站式⼤数据基础软件,包含⼤数据基础平台、⼤数据开发与治理、数据智能分析与洞察多系列产品,融合 DataOps 数据运营理念,以自主可控、安全创新为技术内核,将全域数据资产进行汇聚、加⼯、治理、服务、分析,为企业提供安全、稳定、易⽤的⼤数据平台,洞察数字化机遇,明确转型方向,创造数据新价值。


数栈的 DataOps 实践路线如下图:

解决方案层面数栈经过银行、基金、证券、保险、高校、政务、港口、制造等多个行业的实践已经储备了丰富的成功经验,可以根据企业的业务和数字化现状从业务蓝图、数据资产、组织转型、技术选型和实施路径规划方面进行量身设计。


针对数据治理过程,数栈将多年沉淀的方法论进行了产品化,以下是结合产品层的一些具体操作分享。

数据集成

数据集成即将来自业务系统、API、文件等数据源中的数据通过离线或实时的方式抽取到数栈大数据平台的过程。抽取作业的配置是否灵活简便,工具能否适配企业多种多样的数据来源,数据的传输是否稳定,是否存在错漏及抽取性能的优劣是所有用户的核心关注点。数栈自研的分布式批流一体同步工具 ChunJun 给出了优秀的解决方案。

基于 ChunJun 实现的数据集成,能够30秒可视化地配置离线和实时数据同步任务,实现多源异构数据的双向同步,可通过提升并发度和设置同步速率上限来灵活地调控同步性能,支持系统异常中断后数据同步的断点续传,支持整库批量生成同步任务,也支持将同步过程中读取或写入异常的数据记录脏数据表进行异常分析。



数据抽取完成后元数据也会落到数栈的元数据库,用户可在数据资产的数据地图中进行表元数据查询。

数据标准定义、建表规范设计及标准化建表

数据资产模块可以对表字段的数据标准进行定义,从词根、码表、字段的业务属性和技术属性上进行定义规范,避免同一字段在不同表中定义、名称不一致等问题。数栈平台内置了部分行业的标准模版,同时也支持数据标准的一键导入,帮助用户快速进行数据标准的建立与管理。

建表规范设计中主要支持定义数仓层级、层级的表名模型元素组成和模型元素内容,用于约束后续的数据模型构建中表名的统一规范。

基于建表规范,从资产进行标准化建表,配置基础信息时平台会自动关联表所属数仓层级让用户进行技术属性的定义,从而构成标准化表名。

image.png

基于数据标准,用户在定义表结构时只需填写表字段内容,平台解析后将自动映射到同名数据标准并在执行建表时进行标准覆盖率检测,在规范化的基础上简化建表操作。

逻辑模型与指标设计

数据模型中展示了最基础的事实表和维表之间的基本关系,方便后续创建指标时,直接基于已经固化好的数据关系进行开发。

数栈指标管理平台DataIndex 可按业务进行指标体系梳理,汇总成每个业务领域的指标目录。

针对每个指标,可定义其名称、编码、业务口径、加工逻辑、调度属性等信息。

数据开发、数据质量校验与代码的统一管理

数栈支持离线开发与实时开发两种数据开发模式,下面以离线开发为例介绍数据开发流程。


首先管理员可以配置 SQL 开发规范,当前平台内置了一些 SQL 规范检查规则,此外也可根据开发说明自行开发一些检查规则注册到平台。这些检查规则生效后平台将在 SQL 运行前和提交前对代码进行扫描,在扫描结果发现的异常中,若触发的是提示规则,即轻微的不规范,则会给出提示但不影响运行和提交;若触发的是阻断规则,那么数据开发将无法进行运行和提交。以此来事前规避一些高危的 SQL 操作及不必要的占用大量资源的任务运行等情况。

用户可在离线开发中通过工作流来编排一个数据开发业务流程,编写每个任务的代码并配置调度属性和任务依赖。

在离线开发平台内创建的任务,代码可对接至远端仓库(Bitbucket、GitLab)进行拉取和推送,实现企业内部代码的统一管理,也常用于初始化大数据平台替换时任务的批量迁移。

SQL 代码测试无误并提交后一般由运维人员将任务打包发布至另一个项目,发布过程中将前置校验发布包内容是否完整,可在数栈审批中心开启发布审批流程,由审批角色把控发布的规范性和影响。


针对金融场景下测试和生产环境网络隔离的情况,发布过程也可对接企业内部统一的审批中心,审批通过后通过 jenkins 等工具完成跨网络的发布包传输实现任务投产。

同时有两个十分重要的问题:数据生产出来如何评估质量?出现质量问题时能否及时中断业务流程并通知开发人员及时处理?


数据资产平台DataAssets 支持单表和多表质量校验,单表校验内置完整性、准确性、规范性、唯一性校验规则,用户也可以通过自定义 SQL 来进行个性化的数据校验;多表校验可实现两张表的数据比对,例如可以在数据同步场景中校验源端和目标端数据读写是否存在错漏。


当质量任务和离线任务产生关联时,通过配置质量校验的强弱规则和告警可实现重要质量问题及时中止任务流的运行并通知相关开发人员。

数据服务

经过数栈平台生产的数据可通过 API、自助查询、数据同步至外部库的方式对外提供服务,常应用于报表、大屏、标签、数据门户等上层数据应用。

安全管理

● 用户认证

支持对接企业的单点登陆,支持 LDAP、Oauth2 等认证方式,可配置多层级的 Kerberos 认证

● 数据权限管理

数栈平台层可实现 Hadoop 下的数据权限管理,可将数据进行自动识别划分成不同的等级,在特定的 Hadoop 版本下也支持对接 Ranger 开启引擎的权限策略,另外也可对接企业已有的数据权限管理体系

● 审批流程对接

表、API 等数据资源的权限申请,数据标准、离线任务的发布等涉及权限点变更或内部上线的流程均可对接数栈内的审批中心进行管理。

● 操作审计

任务运行、表的 DDL 操作、增删用户、权限申请等所有关键操作都会记录审计列表。

未来数栈还将继续完善数据治理全链路,通过产品体验优化、工具智能升级提升数据生产的质量和效率,不断为企业数据价值的发挥提供动力和保障。


《数据治理行业实践白皮书》下载地址:https://fs80.cn/380a4b

《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szalykfz

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术 qun」,交流最新开源技术信息,qun 号码:30537511,项目地址:https://github.com/DTStack

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
7天前
|
机器学习/深度学习 敏捷开发 人工智能
探索自动化测试的前沿技术与实践挑战
【7月更文挑战第8天】随着信息技术的飞速发展,软件测试领域正经历着前所未有的变革。自动化测试作为提升测试效率、确保软件质量的重要手段,其前沿技术与实践挑战备受关注。本文深入探讨了自动化测试的最新进展,包括人工智能在测试用例生成中的应用、持续集成/持续部署(CI/CD)流程中的自动化策略、以及云测试平台的兴起。同时,文章分析了自动化测试实施过程中遇到的主要挑战,如环境配置的复杂性、测试用例的维护问题和跨平台测试的困难,并提供了相应的解决策略。通过案例分析,展示了成功实施自动化测试的关键因素,为软件测试专业人员提供了宝贵的参考和启示。
21 2
|
1天前
|
敏捷开发 测试技术 持续交付
探索自动化测试框架的演进与实践
【7月更文挑战第14天】自动化测试框架在软件开发生命周期中扮演着越来越重要的角色。本文旨在探讨自动化测试框架从简单的脚本到复杂的系统级解决方案的演变过程,并分析其在不同阶段解决的关键问题。通过案例研究,我们将深入了解如何选择合适的自动化测试工具以及设计有效的测试策略,以提升软件质量保障的效率和效果。
|
1天前
|
运维 Prometheus 监控
自动化运维工具链的搭建与优化实践
【7月更文挑战第14天】在现代IT架构中,自动化运维已成为提升效率、保障系统稳定性的关键。本文将深入探讨如何构建一套高效的自动化运维工具链,涵盖从基础设施自动化到应用部署的全过程。我们将分享一系列实用的策略和步骤,旨在帮助读者实现运维工作的自动化,减少人为错误,提高响应速度,最终达到降低运维成本和提升服务质量的双重目标。
12 2
|
2天前
|
敏捷开发 存储 数据管理
自动化测试框架设计:从理论到实践
【7月更文挑战第13天】本文将深入探讨自动化测试框架的设计原理与实现方法。通过分析自动化测试的必要性和框架设计的基本原则,结合具体案例,展示如何从零开始构建一个高效、可维护的自动化测试系统。文章不仅涵盖框架的结构设计,还包括最佳实践和常见问题的解决策略,为读者提供一套完整的解决方案和实操指南。
|
7天前
|
JavaScript 前端开发 测试技术
自动化测试在API测试中的深度应用与实践
【7月更文挑战第8天】自动化测试在API测试中的应用极大地提高了测试效率和质量,为软件的快速迭代和持续交付提供了有力保障。通过合理选择测试工具、制定清晰的测试计划并遵循最佳实践,我们可以充分发挥自动化测试的优势,为软件产品的稳定性和可靠性保驾护航。
|
4天前
|
敏捷开发 Devops 测试技术
自动化测试框架的演进与实践
【7月更文挑战第11天】在软件开发的历程中,自动化测试始终扮演着不可或缺的角色。本文将通过探讨自动化测试框架的发展脉络,揭示其在现代软件工程中的应用与挑战。从早期的线性脚本到今日的模块化框架,我们将一窥自动化测试技术的演进之路,并分享实践中的经验和策略,旨在为读者提供一套实用的自动化测试解决方案。
5 1
|
9天前
|
监控 Java 测试技术
如何构建高效的自动化测试框架:策略与实践
【7月更文挑战第6天】构建高效的自动化测试框架是一个持续的过程,需要不断迭代和优化。通过遵循设计原则、选择合适的关键技术、并遵循科学的实施步骤,我们可以构建出稳定、可靠、易于维护的自动化测试框架,为软件质量的提升和交付周期的缩短提供有力支持。
|
8天前
|
监控 测试技术 持续交付
自动化测试在移动应用开发中的实践
【7月更文挑战第7天】自动化测试在移动应用开发过程中具有重要的作用。通过实施自动化测试,可以提高测试效率、保证测试质量、支持持续集成/持续部署等。然而,在实施自动化测试的过程中也会面临一些挑战,如设备兼容性、测试数据准备和维护成本等。为了克服这些挑战,我们需要采用合适的技术和策略,不断优化和完善自动化测试流程。
|
4天前
|
机器学习/深度学习 人工智能 运维
探索自动化测试的前沿技术与实践
随着软件行业的快速发展,传统的手动测试方法已难以满足日益增长的质量保证需求。自动化测试作为提高测试效率和准确性的关键手段,正逐渐成为软件开发过程中不可或缺的一部分。本文将深入探讨自动化测试的最新技术趋势,分析其在现代软件开发生命周期中的应用,并提供一系列实施策略,旨在帮助读者理解并掌握自动化测试的核心技术和方法。
|
6天前
|
Java jenkins 测试技术
Java中的自动化测试与持续集成实践
Java中的自动化测试与持续集成实践