云原生数据中台:架构、方法论与实践
上QQ阅读APP看书,第一时间看更新

1.3 大数据平台与数据中台

既然大数据平台与数据中台的建设目的一样,我们为什么还要区分大数据平台(包括其中建设的数据仓库)和数据中台呢?实际上,硅谷的绝大部分公司有一个数据平台(Data Platform)部门负责建设公司的大数据平台,公司的各个部门都在这个平台上管理和使用自己的数据,并与其他部门共享数据能力。这些团队建设的大数据平台绝大部分符合上面数据中台的定义,实际已经包含了阿里巴巴所提出的数据中台的功能。因此,在硅谷并没有数据中台和大数据平台的绝对区分。阿里巴巴提出数据中台的概念,如上所述,只是为了强调与现有的很多大数据平台在实现方式上的区别,强调解决数据孤岛/重复开发的问题,强调数据共享和复用。

1.3.1 为什么要建设数据中台

数据中台的出现,与传统大数据平台项目的一些实践和弊端有关:

·为了赶风口,为了大数据而大数据,安装一个Hadoop集群之后把数据都存上去,却发现除了有限的应用之外很难挖掘数据的价值;

·企业内各个部门重复建设大数据平台,或者在同一个大数据平台上重复建设类似的数据应用,最后造成数据孤岛和应用孤岛;

·由于架构选择问题,大数据平台缺乏灵活性和可扩展性,新的大数据应用和人工智能应用很难无缝扩展到现有平台上,每次新增功能都要经过冗长的流程甚至只能另起炉灶;

·大数据平台的开发和运营花费巨大,大家都觉得必须建设,但是并不清楚建设后到底能产生多少效益。

在建设了五六年大数据平台之后,阿里巴巴提出了“数据中台”的概念,来强调一些能够更好地发掘数据价值的实践原则:

“基于阿里巴巴实战经验沉淀而成,致力于为企业构建既准又快的全、统、通的智能且安全的大数据体系。包含三项核心能力:OneModel,负责统一数据构建及管理;OneID,负责将核心商业要素资产化;OneService,负责向上提供统一的数据服务。根据企业不同发展时期所关注的不同业务诉求,提供‘中台核心产品+专家咨询服务+生态交付服务’的运作模式,为企业构建数字经济时代的增长引擎。”

这里的OneID、OneModel和OneService是符合上面数据中台的定义的:OneID是一种全局的数据规范,OneModel是一个数据能力抽象的成果,OneService是一种可复用的数据能力的形式。

但是,硅谷的高科技公司就不需要这些能力吗?无论公司大小,或者从小公司发展到大公司,硅谷的高科技公司都没有特别强调数据中台的概念。难道它们没有数据中台的需求吗?答案当然是否定的,类似于Supercell的实践在硅谷的大数据平台团队里是非常常见的。实际上,为了追求更高的效率,硅谷公司在内部都有实际的绩效要求,其大数据平台建设绝大多数是需求驱动的,而且后续发展都由这个大数据平台能产生多少价值来决定。因此,它们为了大数据而大数据的情况很少。

硅谷公司在建设大数据平台的时候,大数据平台的效率,包括运营效率和使用效率,都是必须考虑的关键问题。不管是在起初进行架构设计的时候,还是在后续迭代的时候,如何最大化投入产出比,如何让业务部门真正发挥数据的作用,都是非常关键的问题。在这个过程中有很多尝试和迭代,但是最终的结果是,绝大部分大数据平台会自然而然地提供我们这里所说的数据中台的能力,并将其作为公司内部的核心价值驱动引擎,而不是一个可有可无的报表生成工具。

实际上,很多已有大数据平台的公司要建设数据中台或者改进现有的数据平台,一般是出于以下几点考虑。

·从独立的烟囱到连通的系统:从各个部门独立建设到全局统筹、数据汇聚、协同演进的过程。

·从限定的功能到开放的数据能力平台:不再局限于数据仓库中预制的数据模型,提供从数据湖开始端到端的数据开发体系。

·解耦数据处理流程与数据使用过程:使前端应用能够通过统一的数据服务、数据资产管理体系来使用数据。

·从粗放式管理到精细化运营:从粗放式安装使用到精细化管理、量化ROI的转化。

·从T+1到T+0:从一个简单的数据处理和报表生成系统(一般都是定时运行,而且以日报的形式居多,因此叫作T+1),到能够支持大量实时数据驱动的产品(T+0)。

·从成本中心变成利润中心:从一个简单的报表生成工具、可视化看板展示工具到业务的核心驱动力。

解决这些问题并不是独立的任务,因为底层的很多问题是相通的:

·全局数据的打通与治理,数据标准和数据资产的管理;

·数据应用开发的管理和标准化;

·大数据平台本身的数字化运营;

·工具的易用性、灵活性、多租户管理及协同性;

·核心组件(Hadoop、Spark、Kafka、MPP)的性能及管理问题。

因此,我们不应拘泥于这个系统的名称,而要了解一个公司如何最有效地发挥数据价值,真正实现高效的数字化运营,从而在市场竞争中取得先机。

图1-1显示了信息化系统、数据仓库、传统大数据平台、数据中台之间的关系,其中的箭头表示数据的主要流向。我们可以这样理解,传统大数据平台和数据仓库是数据中台的数据来源,建设数据中台是为了更好地服务于业务部门。

图1-1 数据中台与传统大数据平台、数据仓库的关系

1.3.2 数据中台与传统大数据平台的区别

数据中台与传统大数据平台到底有什么区别?为了叙述方便,我们先给出传统大数据平台的架构(见图1-2)。

图1-2 传统大数据平台

·大数据基础能力层:Hadoop、Spark、Hive、HBase、Flume、Sqoop、Kafka、Elasticsearch等。

·在大数据组件上搭建的ETL流水线,包括数据分析、机器学习程序。

·数据治理系统。

·数据仓库系统。

·数据可视化系统。

可以看到,这些是传统大数据平台的核心功能。在很多大数据项目里,只要把这些系统搭起来,每天可以生成业务报表(包括实时大屏),就算大数据平台搭建成功了。

但数据中台应该是大数据平台的一个超集。我们认为,在大数据平台的基础之上,数据中台还应该提供下面的系统功能。

(1)全局的数据应用资产管理

这里所说的数据应用资产管理包括整个生态系统中的数据和应用。传统的数据资产管理绝大部分只包括关系型数据库中的资产(包括Hive),而一个数据中台应该管理所有结构化、非结构化的数据资产,以及使用这些数据资产的应用。如果传统的数据资产管理提供的是数据目录,那么数据中台提供的应该是扩展的数据及应用目录。要避免重复造轮子,首先要知道系统中有哪些轮子,因此维护一个系统中数据及数据应用的列表是很关键的。

(2)全局的数据治理机制

与传统的数据治理不一样,数据中台必须提供针对全局的数据治理工具和机制。传统数据仓库中的数据建模和数据治理大多针对一个特定部门的业务,部分原因是全局数据建模和治理周期太长,由于存在部门之间的协调问题,往往难度很大。数据中台提供的数据治理机制必须允许各个业务部门自主迭代,但前提是要有全局一致的标准。阿里提出的OneID强调全局统一的对象ID(例如用户ID),就属于这个机制。

(3)自助的、多租户的数据应用开发及发布

现有的绝大部分大数据平台要求使用者具备一定的编程能力。数据中台强调的是为业务部门赋能,而业务人员需要有一个自助的、可适应不同水平和能力要求的开发平台。这个开发平台要能够保证数据隔离和资源隔离,这样任何一个使用系统的人都不用担心自己会对系统造成损害。

(4)数据应用运维

用户应该可以很方便地将自己开发的数据应用自助发布到生产系统中,而无须经过专门的数据团队。因为我们需要共享这些应用及其产生的数据,所以需要有类似于CI/CD的专门系统来管理应用的代码质量和进行版本控制。在数据应用运行过程中产生的数据也需要全程监控,以保证数据的完整性、正确性和实时性。

(5)数据应用集成

应该可以随时集成新的数据应用。新的大数据应用、人工智能工具不断涌现,我们的系统应该能够随时支持这些新应用。如果数据中台不能支持这些应用,各个业务部门可能又会打造自己的小集群,造成新的数据孤岛及应用孤岛。

(6)数据即服务,模型即服务

数据分析的结果,不管是统计分析的结果,还是机器学习生成的模型,应该能够很快地使用无代码的方式发布,并供全机构使用。

(7)数据能力共享管理

大部分数据能力应当具有完善的共享管理机制、方便安全的共享机制以及灵活的反馈机制。最后决定数据如何使用的是独立的个人,他们需要一套获取信息的机制,因此在机构内部必须要有这样的共享机制,才能真正让数据用起来。

(8)完善的运营指标

数据中台强调的是可衡量的数据价值,因此,对于数据在系统中的使用方式、被使用的频率、最后产生的效果,必须要有一定的运营指标,才能验证数据的价值和数据中台项目的效率。

综合上面的讨论,除了阿里巴巴提出的OneID、OneModel、OneService之外,我们认为数据中台还应该满足以下两个要求。

·TotalPlatform:所有中台数据及相关的应用应该在统一平台中统一管理。如果有数据存储在中台管理不到的地方,或者有人在中台未知的情况下使用数据,我们就无法真正实现对数据的全局管理。这要求数据中台能快速支持新的数据格式和数据应用,便于数据工具的共享,而无须建立一个分离的系统。

·TotalInsight:数据中台应该能够理解并管理系统中数据的流动,提供数据价值的定量衡量,明确各个部门的花费和产出。整个中台的运营是有序可控的,而不是一个黑盒子,用户可以轻松理解全局的数据资产和能力,从系统中快速实现数据变现。

如图1-3所示,数据中台可以说是按照一定的规范要求建设的数据能力平台,在数据仓库、大数据平台、数据服务、数据应用的建设中实现了符合OneID、OneModel、OneService的数据层。这个数据层,加上在其上建立的业务能力层以及运营这个数据中台需要的TotalPlatform、TotalInsight,形成我们看到的数据中台。在后面的章节中,我们将会介绍如何通过合适的系统架构和方法论来实现数据中台的五大要求:OneID、OneModel、OneService、TotalPlatform和TotalInsight。

图1-3 数据中台的五大要求

1.3.3 数据中台的评判标准

如何评判一个公司的大数据平台能否承担数据中台的任务?我们认为有以下几个比较明显的标准。

·数据/数据应用标准的覆盖率和复用率:必须实现数据和数据应用标准的全覆盖和高复用率。

·数据应用建设方式及周期:必须快速落地、快速迭代。

·新的业务场景解决方案的迭代管理方式:新的业务场景必须能够快速复用现有数据能力,快速得到数据反馈。

·对于数据/人员/业务演进的适应能力:在数据/人员/业务发生变化时有可靠的管理方式。

·不同角色使用数据中台的方式:业务部门可以自助使用数据能力并方便共享。

·ROI的精确度:能精确量化数据在系统中的使用情况。

·业务部门/IT部门/数据平台部门的责权利划分:各个部门的责权利清晰。

阿里巴巴提出的OneID、OneModel、OneService实际上对应了我们评判标准的一部分:能够用统一标准覆盖尽可能多的数据,引入新业务时可以复用现有数据能力。但是对于建设方式、使用方式、衡量方式、管理架构方式,我们认为需要更清楚的定义和方法论来指导,例如如何实现TotalPlatform和TotalInsight。因为即便目标都一样,设计过程、建设过程以及后续的迭代和演进过程对于一个公司的核心系统来讲应该更为重要。