聊“数据中台”之前,我们先聊聊“中台”概念起源
《皇室战争》《部落冲突》这两款爆款游戏大家应该都不陌生,这两款游戏都是由芬兰一家为名为Supercell游戏公司开发设计,一度成为世界上最成功的游戏公司。2015年马云曾带领团队拜访过该公司,这家只有几百人的公司将员工分为了5到7人独立开发团队,各个团队独立设计与开发,公司不会对团队有过多限制,如果产品上线后用户反馈不好,就会快速放弃。supercell公司会通过“中台”为各个团队输出游戏素材、技术架构等。协助各个团队可以快速的开发设计产品,因此打造出了高效率的产品产出模式。在此之后,马云将“中台”融入阿里,阿里正式启动“中台”战略。阿里将业务线整合为业务中台,将数据治理与数据建设等数据管理活动为特征的中台称为数据中台。2018年末开始,各大公司都开始数据中台项目研发,不光对公司内部开始搭建业务中台与数据中台,还对外输出搭建中台的方案和技术做成了ToB企业服务。
数据仓库
说起数据中台不得不提起数据仓库。1991年比尔·恩门提出数据仓库概念,在其著作《建立数据仓库》一书中定义了数据仓库的概念,随后又给出了更为精确的定义:数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。面向主题、集成的、时间相关、不可修改成为了数仓的四要素。下图可以方便大家理解数仓四要素概念。
一般的大型企业中会有多个业务系统,例如系统A负责客户管理,会有一个专门的数据库存放客户数据。系统B负责管理库存,库存数据会存储在另一个数据库。数仓就是把所有不同系统的数据统一同步接入到数仓,然后按照主题域对数据进行组织。主题域的数据都是按照时间分区进行存放且单条数据是不可更新。恩门提出的建模方法是自顶向下的(顶指数据来源,各个数据库),基于各个实体搭建数据仓库。 说到了比尔·恩门的数仓建设的方法和思想就不得不提起另一位大师金博尔(Kimball)。金博尔提倡的数据建模的思想是先从分析场景出发,拆分维度和事实,以达到快速相应业务场景的不断变化,基于互联网业务可以选择金博尔的建模设计方法。
大数据技术快速发展
随着互联网时代的到来,海量数据不断的产生,以互联网广告行业为例:广告主在主流媒体(抖音,快手,爱奇艺等)曝光数据每天就会产生几千亿次。在存储用户数据场景中传统的数仓难于扩展,无法承载如此大规模的数据。另外在基于互联网产生的非结构化数据越来越多(例如:后端日志数据)这部分数据是无法直接同步到数仓中(数仓对数据结构要求严格)。所以规模和结构就限制的传统数仓无法适应现代互联网发展趋势。在此基础上,大数据hadoop技术发展而来。2003年谷歌发布了GFS和MapReduce思想细节,后续更是以《The Google File System》《MapReduce:Simplified Data Processing on Large Clusters》《Bigtable:A Distributed Storage System for Structed Data》三篇论文奠定大数据基础。目前hadoop生态圈发展非常迅速,丰富组件可以应该各种场景。
我们可以看下hadoop的优点:
- 高可靠性。采用冗余数据存储方式,即使一个副本发生故障,其他副本也可以保证正常对外提供服务。
- 高效性。作为并行分布式计算平台,Hadoop采用分布式存储和分布式处理两大核心技术,能够高效地处理PB级数据。
- 高可扩展性。Hadoop 的设计目标是可以高效稳定地运行在廉价的计算机集群上,可以扩展到数以千计的计算机节点上。
- 高容错性。采用冗余数据存储方式,自动保存数据的多个副本,并且能够自动将失败的任务进行重新分配。
- 成本低。Hadoop 采用廉价的计算机集群,成本比较低,普通用户也很容易用自己的 PC搭建Hadoop运行环境。
- 运行在Linux平台上。Hadoop是基于Java语言开发的,可以较好地运行在Linux平台上。
- 支持多种编程语言。Hadoop上的应用程序也可以使用其他语言编写,如C++。
基于大数据技术发展,数据湖孕育而生。数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统。大数据平台诞生让数据集成、研发、测试、上线、运维都可以大数据平台上完成,提高了数据研发生产效率。
数据中台诞生
现代互联网场景高速发展,业务侧对数据需求越来越多,更多数据需要用来支撑业务发展。例如新业务开展后,运营侧急需要相对应数据来分析业务开展效果并通过数据分析结果对新业务进行迭代。但是业务侧对数据需求增多,往往会出现各个业务线分别对应不同的数据研发团队,大家内部需求不共享同步,这种往往会出现数据割裂,形成数据孤岛。在我们数据中台前期调研时,就发现一个A指标,在不同团队中的定义是不一样的场景,另外也出现对同一数据多次开发的场景。为了解决以上业务困境,就需要一个“组织”将数据统筹起来,将数据服务化、共享化以赋能数据应用。