袋鼠云产品团队在帮助企业进行数字化转型实践的过程中,发现很多企业在数据生产链路上都有着相同的问题。包括数据团队聚焦于业务需求短期内的快速交付,内部缺少自顶向下的数据生产管理制度,在数据标准、数据生产流程到研发规范的各个层面均存在不完善与不规范之处;很多环节依赖人工操作,团队协作效率低,业务需求影响慢,存在大量的重复数据建设;先开发后治理的模式也往往导致历史债越来越沉重。
数字化转型实践走在前列的企业都在积极寻找数据生产效率提升的办法,而 DataOps 的出现,从理论和实践上形成了一套成熟的解决方案,让上述问题迎刃而解。
作为国内领先的数字化基础软件与应用服务商,袋鼠云数栈在7年多的研发历程中为上千家客户提供了数据生产效率提升解决方案,也在这个过程中不断地将 DataOps 的理念融合到产品中,助力越来越多的企业成功实现数字化转型升级。
本文将就数栈基于 DataOps 的敏捷、高质量数据生产力实践进行分享,希望对大家有所帮助。
DataOps 基础概念
如果说数据中台的崛起代表着企业数字化转型从流程驱动走向数据驱动,从数字化走向智能化。那么 DataOps,则是实现数据中台的一个优秀的理念或方法论。
DataOps 的概念早在2014年即由 Lenny Liebmann 提出,2018年 DataOps 正式被纳入 Gartner 的数据管理技术成熟度曲线当中,标志着 DataOps 正式被业界所接纳并推广起来。
信通院和大数据技术标准推进委员会在今年的数据资产管理大会中提出,DataOps(数据研发运营一体化)是一种面向数据全生命周期,以价值最大化为目标的最佳实践。它通过重构企业内数据生产组织、流程和工具,综合利用研发管理、交付管理、数据运维三项核心技术能力,价值运营、系统工具、组织管理、安全风险四项保障能力来实现数据研发运营的一体化、敏捷化、精益化、自动化、智能化、价值显性化理念。
目前国内已经有包括工商银行、农业银行、浙江移动、联通数科等企业成功实践了 DataOps,实现了数据生产力的跃迁。
数栈基于 DataOps 的数据运营实践
数栈是袋⿏云打造的⼀站式⼤数据基础软件,包含⼤数据基础平台、⼤数据开发与治理、数据智能分析与洞察多系列产品,融合 DataOps 数据运营理念,以自主可控、安全创新为技术内核,将全域数据资产进行汇聚、加⼯、治理、服务、分析,为企业提供安全、稳定、易⽤的⼤数据平台,洞察数字化机遇,明确转型方向,创造数据新价值。
数栈的 DataOps 实践路线如下图:
解决方案层面数栈经过银行、基金、证券、保险、高校、政务、港口、制造等多个行业的实践已经储备了丰富的成功经验,可以根据企业的业务和数字化现状从业务蓝图、数据资产、组织转型、技术选型和实施路径规划方面进行量身设计。
针对数据治理过程,数栈将多年沉淀的方法论进行了产品化,以下是结合产品层的一些具体操作分享。
数据集成
数据集成即将来自业务系统、API、文件等数据源中的数据通过离线或实时的方式抽取到数栈大数据平台的过程。抽取作业的配置是否灵活简便,工具能否适配企业多种多样的数据来源,数据的传输是否稳定,是否存在错漏及抽取性能的优劣是所有用户的核心关注点。数栈自研的分布式批流一体同步工具 ChunJun 给出了优秀的解决方案。
基于 ChunJun 实现的数据集成,能够30秒可视化地配置离线和实时数据同步任务,实现多源异构数据的双向同步,可通过提升并发度和设置同步速率上限来灵活地调控同步性能,支持系统异常中断后数据同步的断点续传,支持整库批量生成同步任务,也支持将同步过程中读取或写入异常的数据记录脏数据表进行异常分析。
数据抽取完成后元数据也会落到数栈的元数据库,用户可在数据资产的数据地图中进行表元数据查询。
数据标准定义、建表规范设计及标准化建表
数据资产模块可以对表字段的数据标准进行定义,从词根、码表、字段的业务属性和技术属性上进行定义规范,避免同一字段在不同表中定义、名称不一致等问题。数栈平台内置了部分行业的标准模版,同时也支持数据标准的一键导入,帮助用户快速进行数据标准的建立与管理。
建表规范设计中主要支持定义数仓层级、层级的表名模型元素组成和模型元素内容,用于约束后续的数据模型构建中表名的统一规范。
定义数仓层级
层级的表名模型元素组成
模型元素内容
基于建表规范,从资产进行标准化建表,配置基础信息时平台会自动关联表所属数仓层级让用户进行技术属性的定义,从而构成标准化表名。
基于数据标准,用户在定义表结构时只需填写表字段内容,平台解析后将自动映射到同名数据标准并在执行建表时进行标准覆盖率检测,在规范化的基础上简化建表操作。
逻辑模型与指标设计
数据模型中展示了最基础的事实表和维表之间的基本关系,方便后续创建指标时,直接基于已经固化好的数据关系进行开发。
数栈指标管理平台DataIndex 可按业务进行指标体系梳理,汇总成每个业务领域的指标目录。
针对每个指标,可定义其名称、编码、业务口径、加工逻辑、调度属性等信息。
数据开发、数据质量校验与代码的统一管理
数栈支持离线开发与实时开发两种数据开发模式,下面以离线开发为例介绍数据开发流程。
首先管理员可以配置 SQL 开发规范,当前平台内置了一些 SQL 规范检查规则,此外也可根据开发说明自行开发一些检查规则注册到平台。这些检查规则生效后平台将在 SQL 运行前和提交前对代码进行扫描,在扫描结果发现的异常中,若触发的是提示规则,即轻微的不规范,则会给出提示但不影响运行和提交;若触发的是阻断规则,那么数据开发将无法进行运行和提交。以此来事前规避一些高危的 SQL 操作及不必要的占用大量资源的任务运行等情况。
用户可在离线开发中通过工作流来编排一个数据开发业务流程,编写每个任务的代码并配置调度属性和任务依赖。
在离线开发平台内创建的任务,代码可对接至远端仓库(Bitbucket、GitLab)进行拉取和推送,实现企业内部代码的统一管理,也常用于初始化大数据平台替换时任务的批量迁移。
SQL 代码测试无误并提交后一般由运维人员将任务打包发布至另一个项目,发布过程中将前置校验发布包内容是否完整,可在数栈审批中心开启发布审批流程,由审批角色把控发布的规范性和影响。
针对金融场景下测试和生产环境网络隔离的情况,发布过程也可对接企业内部统一的审批中心,审批通过后通过 jenkins 等工具完成跨网络的发布包传输实现任务投产。
同时有两个十分重要的问题:数据生产出来如何评估质量?出现质量问题时能否及时中断业务流程并通知开发人员及时处理?
数据资产平台DataAssets 支持单表和多表质量校验,单表校验内置完整性、准确性、规范性、唯一性校验规则,用户也可以通过自定义 SQL 来进行个性化的数据校验;多表校验可实现两张表的数据比对,例如可以在数据同步场景中校验源端和目标端数据读写是否存在错漏。
当质量任务和离线任务产生关联时,通过配置质量校验的强弱规则和告警可实现重要质量问题及时中止任务流的运行并通知相关开发人员。
数据服务
经过数栈平台生产的数据可通过 API、自助查询、数据同步至外部库的方式对外提供服务,常应用于报表、大屏、标签、数据门户等上层数据应用。
安全管理
● 用户认证
支持对接企业的单点登陆,支持 LDAP、Oauth2 等认证方式,可配置多层级的 Kerberos 认证。
● 数据权限管理
数栈平台层可实现 Hadoop 下的数据权限管理,可将数据进行自动识别划分成不同的等级,在特定的 Hadoop 版本下也支持对接 Ranger 开启引擎的权限策略,另外也可对接企业已有的数据权限管理体系。
● 审批流程对接
表、API 等数据资源的权限申请,数据标准、离线任务的发布等涉及权限点变更或内部上线的流程均可对接数栈内的审批中心进行管理。
● 操作审计
任务运行、表的 DDL 操作、增删用户、权限申请等所有关键操作都会记录审计列表。
未来数栈还将继续完善数据治理全链路,通过产品体验优化、工具智能升级提升数据生产的质量和效率,不断为企业数据价值的发挥提供动力和保障。
《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu
《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack