2.1 数据工厂的概念与范畴
2.1.1 数据工厂概述
工业大数据分析即从海量的数据中有效挖掘价值、提升企业核心竞争力是工业企业数字化转型升级的重要内容。虽然数据分析和数据挖掘并不是一个新方向,但如何系统性地以有序、高效和工程化的方式进行数据处理、加工和价值挖掘在最近几年才愈加被重视。
如果映射到工业生产过程,在目前很多的数据分析项目中,数据准备在很大程度上仍然处于手工制作的阶段,其连同分析算法逻辑的试运行和部署等工作环节共同占据了分析项目中的多数时间,这显著增加了数据产品(数据分析结果或数据应用)的加工周期。
借鉴物理世界中规模化生产的工厂模式,吸取零部件的产品化、生产流水线设计及工厂自动化等要素,在数字世界中以规模化的数据产品加工生产为目标,构建以数据为主要物料的“企业数据工厂”,致力于显著提升数据智能化创新的敏捷性和效率,最终推动更大的数据智能化业务发展。具体来讲,将工业数据处理和分析系统视为一条数据的加工生产线:数据源源不断地从这条线的一端进入,经过清洗、转换、数据分析模型的处理、统计分析和数据可视化等一系列的数据加工处理步骤,最终呈现为最终产品——内含分析结果及业务洞察的数据驱动型智能应用,从而实现数据的价值。如图2-1所示为企业数据工厂从数据原料到数据价值的数据加工生产过程示意。在企业数据工厂中,数据接入汇聚是前提,数据存储是基础,数据处理是主体,数据分析是重点,数据展示可视化与应用服务是与用户的交互形态。其中,价值的释放是以对数据的处理和分析为核心的。与物理世界中的工厂生产线一样,需要仔细设计、建造、监控和运维这个生产线,以保证生产的质量和效率等水平,并能够持续改进和提升其业务价值产出。
图2-1 企业数据工厂从数据原料到数据价值的数据加工生产过程示意
数据工厂(Data Factory)这个名词在最近几年被学者[1][2]和商业产品[3]提及。SCHLUETER Langdon C等[4]提出了由数据权限管理(Data Rights Management)、数据摄入(Ingestion)、数据协调(Harmonization)、质量评分(Quality Scoring)和数据治理(Data Governance)构成的数据工厂框架。WANG Y等[5]提出的数据工厂包含数据仓库(Data Warehouse)、数据车间(Data Workshop)、工厂组件(Factory Component)和生产流程(Production Process)4个主要组件,没有对持续运行的数据生产和数据创新进行显式划分。微软公司在其Azure云上提供了Azure数据工厂(Azure Data Factory)[6]一个无服务器的云托管ETL和数据集成服务(用于构建数据驱动的工作流),以编排大规模的数据移动与数据转换。
与前述工作相比,共同之处在于所述数据工厂都着重包含了对数据转换工作流进行开发和管理的能力,实现了对数据的移动、转换和处理;但本书提出的“企业数据工厂”主要有以下不同。
(1)着重以工业企业数据智能化转型为背景,结合工业企业的上下文(例如,企业数据技术现状、人员与组织背景等)来考虑数据工厂的内涵和特征。
(2)基于在数据分析与数据创新研发实践方面的经典方法(例如,CRISP-DM方法[7][8]),着重结合数据科学团队近年来在工程化实施数据分析项目中的实践经验和新进展(例如,DataOps实践)[9],旨在从数据中挖掘业务价值的角度来考虑数据工厂的构成和要素。
(3)基于上述数据工厂的内涵和构成等特点讨论数据工厂的生命周期及相关方法,包括规划建设、价值生产及创新研发。
1.数据工厂的主要构成:价值加工线和创新加工线
数据工厂是一个持续运行的数据处理和分析系统。在一个传统的数据分析项目中,项目始于一个明确的业务需求目标,数据团队通过数据准备、特征提取、分析模型构建与评估等一系列阶段和过程得出分析结果并形成分析报告,提供业务洞察作为最终产出。这类项目的执行过程往往有明确的起止周期,项目结果往往是“离线”形式的报告。相比之下,本书提出的企业数据工厂的生产过程则有很大不同。在这里,数据处理逻辑和分析模型已经提前固化在生产线中。伴随持续输入的数据,这些逻辑和模型“在线”运行并持续产出分析结果,而这些结果最终以面向用户的应用形式得以展现并与用户交互。
上述固化了数据处理逻辑和分析模型的数据加工生产线以源源不断输入的数据为原料持续运转,历经数据测试和验证,生产出分析处理的结果和智能应用的状态,产生潜在业务价值,将这条数据处理加工线称为“价值加工线”,简称价值线。价值线强调从接收数据原材料开始,经过一系列加工处理步骤,直到产生用户可消费的数据驱动的智能应用产品的过程。这一过程是数据工厂释放数据价值的主要载体,视为对产品的持续生产。价值线的主要特点是数据不断转换,但包含处理逻辑和分析模型的程序代码保持不变。
图2-1为从数据原料加工产出业务价值的生产过程,即一条“价值流”。对应于物理世界中的工厂,这个过程主要偏重于工厂里的生产制造这一业务流程。企业中另一大业务流程是研发创新。回到数据工厂的空间中,新数据产品的定义、工艺的设定选取与创新显然也是一条重要的工作线,其正是数据科学团队着力从事的、关于如何根据业务需求进行分析和应用创新的过程,而这是一条“创新流”。
不同的业务场景需求、不同特质的数据原料都需要研发各不相同的针对特定数据和具体问题的数据处理逻辑和分析模型。从探索和理解数据开始,到构建处理逻辑和分析模型,再到技术和业务评估,最后到数据可视化及应用交互设计和构建并满足用户需求,这是一个创新型、迭代式的分析模型与处理逻辑开发的过程。这条以研发分析模型与处理逻辑为目的的数据加工线称为“创新加工线”,简称创新线。创新线着眼于根据业务需求、市场环境等一系列情况进行最终产品的设计、试验与研发,以及包括分析模型、数据处理方法等工艺方面的设计与评估等;这个过程体现出很强的创新和研发性质。类比于物理世界的工厂,此创新线与试验线有相似之处。创新线的主要特点是:处理逻辑和分析模型的程序代码不断调试变化,但数据通常是一个或几个稳定的集合。保持数据静态可以将新的试验结果归因于新试验的处理逻辑和模型算法,即去除数据的变化对试验结果产生影响的维度。
价值线和创新线的概念参见DataOps实践[10]。DataOps是一种数据科学团队所采用的自动化、面向过程的方法实践,用以提高数据分析的质量并缩短交付周期。DataOps将敏捷开发(Agile Development)、DevOps和精益制造(Lean Manufacturing)三者应用于数据分析的开发和运维过程中。
2.数据工厂的生命周期:从规划建设到管控运维
类似于物理世界中的工厂从规划建设到投产运营,数据工厂从0到1涉及的三大核心业务活动为规划建设、生产制造及产品研发,分别对应数据工厂生命周期中的“规划建设时”“价值线运行时”和“创新线运行时”,如图2-2所示。
图2-2 数据工厂的生命周期
“规划建设时”涉及企业数据工厂从立项、启动、建设到竣工的过程。数据工厂宜采用“业务导向+技术驱动+数据支撑”的方式进行规划,起始于企业顶层数据战略理解,基于企业统一数据战略,以业务为导向,采用迭代演进的方式实现数字化战略的落地和工厂建设。规划建设方法将在2.2节展开。
“价值线运行时”是数据工厂在正式生产状态下的运行过程,是数据工厂为企业持续创造价值的核心业务活动周期。“价值线运行时”起始于数据工厂规划建设并竣工投产后。在这个阶段,原料数据作为物料,经过由运行环境代表的机台的处理(机台注入了由分析模型代表的工艺参数等信息),产出分析结果和数据展示。类似于物理世界生产线中的自动化质检,自动化数据测试是价值线运行时中一个重要环节,其保障价值线正常运行的同时产出满足质量要求的数据产品。测试发生在输入、中间处理和输出多个环节,具有两种类别(无业务语义逻辑、业务逻辑),采用精益制造中的统计过程控制(Statistical Process Control,SPC)方法来监控流经数据的质量。价值线运行时的关键是管控和运维(Operations),这将在2.4节、2.5节中展开具体讨论。
“创新线运行时”是一个侧重于研发和设计的过程,其根据业务场景需求、数据支撑情况、市场变化及用户反馈等情况,来研制、试验和改进数据处理逻辑、分析模型,以及应用的用户交互方式。在“创新线运行时”,新的数据处理逻辑、分析模型与结果展示,以及用户交互方式得以研发,新的或改进的数据产品得以定义。在这个阶段,对开发的构件进行业务有效性评估,并通过构建功能测试、回归测试等确保符合业务相关需求。使用自动化构建与部署的工作流程用来实现持续部署,缩短开发交付周期,从而避免数据团队将精力置于手工构建与部署等重复工作中,让其能够专注于创新研发。类比于物理世界工厂中的试验线,通过与生产系统的生产线相分离(如“沙箱”环境),数据团队可以自由试验而不必担心破坏生产系统。创新线运行时的关键是研发(Development),这将在2.1.4节中进一步讨论。