1
数据运营到底是什么?
(资料图)
随着全球数字化转型快速发展,在云计算、物联网、5G、边缘计算、元宇宙等新技术的推动下,数据爆炸时代已经到来。 IDC Global DataSphere显示,2021年全球数据总量将达到84.5ZB,预计到2026年全球结构化和非结构化数据总量将达到221.2ZB。
另外,《数字化转型架构:方法论和云原生实践》书中还提到,云原生应用平台的发展会经历DevOps-DataOps-AIOps的演进路径。可见,云原生浪潮下,企业也需要越来越多的数据。然而,当面临数据量巨大、数据类型多样、数据快速增长的困境时,也对企业对数据的掌控能力提出了更高的要求。海量数据如果不能合理有序地组织和管理,不仅无法产生数据价值,反而会给企业造成巨大的负担。某种程度上,它也会是一场“数据灾难”,这也是DataOps一直以来成为热门话题的原因。在开源SREWorks项目的数据构建过程中,我们一直在思考:DataOps到底是在做什么?
在讨论DataOps 之前,我们先来看看DevOps。 DevOps是一种软件交付管理思想,追求敏捷、标准化、跨团队的软件开发协作状态,努力将软件开发模式从小作坊演变成标准生产线。 DevOps在一定程度上为DataOps的发展奠定了基础。因此,DevOps是我们在讨论DataOps时无法回避的一个重要话题。
DataOps本身也属于敏捷开发的范畴。与DevOps类似,能够以较短的开发迭代周期快速满足各自的需求。同时,DataOps还需要大量标准化的数据工具或组件,依赖团队之间的协作进行数据开发和分析。与DevOps不同,DataOps主要关注数据流。因此,通过基于数据的方法或方法论来推动企业运营水平的提升,可以属于DataOps的范畴。
DataOps 生命周期(来源The Rise of DataOps: TrueDataOps 的治理和敏捷性)
DataOps 是数据操作化的缩写。 DataOps不仅指数据技术的工具和平台,更重要的是一套数据全生命周期管理的方法论和思路。以数据驱动为基础,通过一系列面向流程的工具和平台,将DataOps思想付诸于工程实践,可以收集各系统的相关数据,打破数据孤岛,统一构建高效、标准化的数据模型和数据系统,深入挖掘数据价值。
DataOps的方法论和思想主要供分析和数据团队使用,旨在简化数据使用、降低数据分析门槛、提高数据分析质量、缩短数据分析周期。也就是说,数据作为大数据时代的“新能源”,需要平台能力围绕“数据集成、数据开发、数据存储、数据治理和数据服务”实现系统化的数据管理。过程。更进一步,基于数据驱动思维,进行数据分析和数据消费,通过数据赋能,做好各业务领域的相关工作,真正解决实际生产过程中遇到的痛点,实现场景化输出,实现数据价值。
DataOps 架构(来源:Diving into DataOps: The Underbelly of Modern Data Pipelines)
2
DataOps可以解决什么问题?
以下是一些常见的数据相关问题。对于想要实施DataOps的公司,可以判断一下自己是否遇到过:
1、如何保证生产的数据质量?
2、如何判断产生的数据是否能够满足业务需求?
3、如何判断一个数据化项目的价值并持续投资?
4、如何寻找大数据人才?
5、如何提高数据处理的性能?
6. 大数据解决方案使用什么技术栈?
7、如何保证大数据解决方案的运维稳定性?
8. 引入了多种大数据解决方案,如何统一管理?
9、如何管理大数据的数据权限?
10、数据分析结果如何指导最终决策?
上述常见问题可分为三大场景:数据管理、数据运维、数据使用。通常实施数字化的企业在前期就尝到了一些数据带来的甜头。然而,持续投入后,他们发现收益产出似乎非常不确定:数据表逐渐变得杂乱。数据满了,数据输出环节经常出现延迟,通过数据分析做出的决策似乎不再像以前那么有效。
总之,当数据量变大、数据工程变得复杂时,如果没有标准化的系统和流程,整体的协作关系很容易回到小作坊的形式。存在数据计算口径不一致、数据重复建设、数据质量等问题。低层问题需要通过标准化、常态化、系统化、工程化的方式解决。
3
如何实践数据运营?
前面说过,DataOps本身就是一套完整的数据系统构建方法论。其目标是实现数据的持续利用,实现“数据集成、数据开发、数据存储、数据治理和数据服务”等数据管理能力。这也意味着需要依托众多的数据技术或数据组件来构建和运营DataOps数据平台,从而形成高效可靠的数据资产化体系和数据服务能力,即对Data的数据运维。
1. 数据整合
数据集成是构建企业级DataOps数据平台的第一步。它依靠企业内部跨部门协作,将不同来源(不同业务系统)、不同类型的数据(结构化、半结构化、非结构化、离线和实时数据等)的数据进行集成,实现互联互通。从源头避免数据重复和资源浪费,准备构建标准化数据体系,积累数据资产,挖掘数据价值。
数据集成一般是通过数据引入,将一个系统的数据按时、定量地集成到另一个系统中。通常使用ELT(Extract-Load-Transform,提取-加载-变换)模型。重点是数据聚合,即数据提取后直接加载到目标存储中。这个阶段一般不做或者只做简单的数据清洗和数据处理。处理。业界优秀的数据集成工具有Sqoop、DataX、Kettle、Canal、StreamSets等。
2. 数据开发
数据开发的目标是在数据集成阶段根据业务需求对原始数据进行处理,将原始低业务价值的数据转化为高业务价值的数据资产。换句话说,数据开发阶段就是实现数据资产化。核心技术手段。
数据开发作为数据处理的核心阶段,通常采用ETL(Extract-Transform-Load,提取-转换-加载)模型,并集成一系列数据开发管控流程和工具,方便数据开发人员编写ETL任务。构建、发布、运维、任务资源管控,提高效率。通常数据开发主要分为两种场景:离线数据开发和实时数据开发。
离线数据开发主要用于离线数据的批量定时处理。离线数据开发需要包括离线计算引擎、作业开发、任务调度、数据管控、运维监控等核心能力。实际使用过程中,相关离线ETL任务会按照预设的处理逻辑与ETL的拓扑依赖关系调度执行。常见的离线处理框架有MapReduce、Hive、Spark等。阿里巴巴内部已经建立的MaxCompute通用大数据开发套件,可以快速解决用户海量数据离线计算问题,有效降低企业成本,保证数据安全。
实时数据开发主要涉及实时流数据的处理,以满足监控报警、数据大屏等实时性要求较高的场景。在实时计算场景中,业务系统产生的每一条数据都会通过消息中间件(如Kafka)发送到流处理平台进行实时处理,不再依赖于调度引擎。常见的流处理框架有Storm、Spark Streaming、Flink等,阿里巴巴还基于Apache Flink打造了一站式实时大数据分析平台,提供端到端的亚秒级实时数据处理和分析能力。
3、数据存储
有了数据集成和数据开发的能力,下一阶段就是考虑如何存储和组织数据。其核心是标准化、规范化的数据仓库和数据模型的建设。换句话说,数据仓库是实现数据资产化的呈现载体。
目前最常用的数据建模方法是维度建模。典型代表是阿里巴巴打造的“OneData”数据建模系统,主要包括数据规范定义、数据模型设计、ETL开发规范三部分。
数据规范定义:数据主题领域、业务流程、指标规范、名词定义、时间段等命名规范。
数据模型设计:模型层划分(分为三层:数据引入层ODS、数据公共层CDM和数据应用层ADS。CDM层还包括明细数据层DWD、汇总数据层DWS和维度数据层DIM)、模型设计原则、模型命名规范、模型生命周期管理和数据质量规范等。
ETL开发规范:数据处理操作的研发流程、编码规范、发布运维原则等。
数据仓库实施工作流程(来源:《大数据之路》)
数据仓库建设项目链接(离线链接+实时链接)
4. 数据治理
数据治理主要涉及配置数据资产的数据管理策略,包括数据标准、数据质量、数据成本、数据安全等。通过多维度量化评估,提出数据建设的改进和优化建议,确保数据质量、标准、安全、易用。它包含以下功能:
数据标准化管理:负责数据仓库中数据的表达、格式和定义的标准化,包括模型规范、数据仓库元数据规范、术语规范、指标规范等的管理,并对不标准化的内容提供改进建议。数据成本:主要从存储量和访问情况沉淀相关治理项,如:空表、无效表(不与ETL任务表关联)、长期未访问表、长期表、大数据表等,通过分析治理项目运营情况,提出优化建议,促进数据开发人员的成本管理。数据质量:关注数据完整性、准确性、一致性、有效性和及时性五个维度,将数据重要性划分为资产类别。质量保证包括数据开发过程和数据标准实施等事前保证。等等,还有事中保障,如DQC对数据质量的实时监控和报警,以及事后保障,如数据质量故障审核、确定质量问题根源等。 数据安全:评估数据安全风险,设置数据的安全级别,包括支持安全认证和权限管理、资源隔离、数据加密、数据脱敏等,确保数据安全可靠地传输、存储和使用。 5、数据服务
数据服务旨在提供统一的数据消费服务总线,可以从数据资产生成API服务。其目标是服务数据,让数据快速融入业务场景,释放数据平台的价值。它包含以下主要功能:
异构跨数据库查询:如果数据分布在多个异构数据库中,用户无法简单地实现数据关联查询。通过数据查询服务,可以减少数据同步任务,直接实现多个源数据库的数据加载和查询完成。能力。数据API定义和管理:一些常用的数据枚举或统计分析,可以通过定义数据集和API名称,最后暴露为HTTP资源路径,并发布和访问数据API,方便各种应用。在类脚本或代码中使用数据。数据缓存:对于常用的数据查询,可以定义缓存和更新策略,减少数据查询对数据库的渗透,提高性能,降低数据库的性能负载。服务编排:根据业务逻辑,将多个API和功能服务编排为串行、并行、分支结构的工作流。六、数据应用
有了标准化的数据体系,分析和使用数据是DataOps关注的另一个维度。这也是数据驱动的一个关键环节,即以数据为中心的决策和驱动业务行为。数据分析师通过数据平台提供的数据服务API,利用各种数据统计分析方法和智能算法,对相关数据进行多维度、深入的分析和挖掘,支持业务相关的数据应用场景,并持续利用数据。真正释放数据平台的商业价值。
不同的业务有自己的应用场景,所以这一部分很难面面俱到。本文仅简单介绍几种常见的数据应用场景,希望能够帮助大家更好地了解如何基于数据平台的数据资产和数据服务来分析和使用数据。
大数据屏:通过对数据进行分析计算,利用BI软件,结合业务需求,将一些关键汇总数据以图表等形式展现出来,实现数据可视化,为业务决策提供准确可靠的数据支撑。
智能场景:属于AIOps范畴,基于数据平台的数据,利用AI算法对数据进行提取、挖掘、洞察,为业务基于数据进行决策和运营提供智能能力,并获得更多前瞻性数据支持。典型的智能应用场景包括智能推荐、智能客服、智能预测、健康管理等。
当然,数据分析并不是数据的终结,因为随着数据的积累和业务规模的扩大,很多数据分析结果也可能作为另一个更高维度模型的数据输入,纳入数据资产。的数据平台。因此,数据分析师和开发人员需要从更高的维度和角度整合海量数据。这意味着数据处理链路不是静态的。数据量会随着业务不断增长,数据模型也需要不断演进。
数据平台架构示例
4
总结
总的来说,DataOps作为一种数据管理方法,利用DevOps方法论来管理数据的整个生命周期,通过数据平台将数据转化为服务能力,从而提高数据使用效率,实现数据的持续利用。目标。以数据平台为载体,以数据场景为驱动,支撑更大的创新空间和更好的商业模式。
SREWorks云原生数字智能运维平台,积累了阿里巴巴大数据运维团队近十年来经过内部业务锤炼的SRE数字智能工程实践。包含了DataOps在运维领域的最佳实践。欢迎前来体验。我们旨在秉持“数据化、智能化”的运维思维,帮助更多从业者用“数字化智能”的思维做好运维工作。
参考
https://www.synopsys.com/blogs/software-security/agile-cicd-devops-difference/
https://zhuanlan.zhihu.com/p/55066486
http://www.uml.org.cn/bigdata/202108115.asp
https://en.wikipedia.org/wiki/DataOps
https://www.tamr.com/blog/from-devops-to-dataops-by-andy-palmer/
/结尾/