回顾企业数据平台的发展史,我们可以梳理出三个重要阶段:
目前数据中台的主流架构都是以大数据技术为基础搭建的,具体来说,它是以 Hadoop 生态圈内的各种工具和 Spark 作为主要的技术堆栈,有的企业还会基于自身情况再搭配使用 Elasticsearch、MongoDB、Cassandra、Kudo 等其他数据处理和存储引擎。从技术架构上看,多以 Lambda 架构为主,划分批处理和实时处理两条数据处理通道。同时数据中台还往往具备人工智能及机器学习相关的能力,它会涵盖数据仓库和数据湖的全部职能,会提供强大的数据服务供业务中台和前台应用使用。本文核心观点援引自作者所著的《大数据平台架构与原型实现:数据中台建设实战》一书,全书对数据中台的理念、架构和具体实现做了详细论述。
1 数据中台所要解决的问题
在展开对数据中台的详实介绍之前,我们有必要对当前的企业数据生态做一些梳理,以便于我们能正对性地理解中台存在的意义。
目前,大多数企业特别是传统行业里的甲方企业,由于信息化水平的制约其数据生态还停留在较为落后的状态,存在着不少问题,以下是一些典型状况:
在过去,企业通过建立自己的数仓系统来统一存储和处理企业数据,这一过程要经历数年,并且会伴随着新数据源的产生持续进行。但是随着大数据时代的来临,传统数仓系统已经越来越难以支撑企业对数据处理的需求了,这体现在如下几个方面:
这些因素都促使企业加大了对新一代数据平台的投入,通过构建基于大数据技术的新平台来应对新的挑战,而数据中台则成了目前大数据平台建设中最新、最热的方法论。
2 数据中台具备的能力
数据中台必须具备如下能力。
平滑自如的水平伸缩能力,从容应对海量数据
平滑自如的水平伸缩能力是数据中台必须具备的,特别是在数据体量迅速膨胀的今天,不具备存储和计算水平伸缩能力的平台是很难生存的,好在今天几乎所有的大数据技术都是分布式的,这赋予了数据中台天然的水平伸缩能力。
对资源拥有细粒度的控制能力,支持多任务、多用户下的作业处理
作为中心化的平台,企业不同部门和团队的数据都会存放在上面,每天会有大量的定时和即席作业运行,因此数据中台必须具备“多租户”的数据管理能力,对资源能进行细粒度的切分和调控。以 Hadoop 上的资源管理平台 Yarn 为例,通过定义各种动态资源分配策略,可以很好地协调各种作业之间的资源使用情况,确保各个业务线和不同用户的数据处理任务能及时有序地执行。
强大的实时处理能力
实时数据处理能力是以往传统数据平台所不具备的,这是数据中台的一大优势和亮点,通过实时处理我们可以将业务情况实时地反馈给用户,极大地缩短了业务用户的等待时间,提升了用户体验,在一些大促活动期间(如双 11),实时计算的时效性对于业务决策的支持作用会更加重要。
参与业务请求处理的能力
依托于实时计算能力,数据中台将有机会参与在线的业务处理,特别是在那些需要基于大量数据处理才能给出响应的业务请求(如用户积分的实时计算),过去这些处理都是通过批处理作业在夜间完成的,时效性和用户体验很差,现在通过数据中台可以实时地计算出结果并反馈给业务系统,这使得数据平台也开始参与在线的业务处理了。
具备人工智能及机器学习的数据分析能力
这是目前数据分析和应用领域最看重的能力,是当前数据分析领域的“皇冠”,它所带来的数据洞察能力是以往传统数据分析方法无法企及的,没有这种能力的数据中台是不完善的。这部分能力一般是通过在大数据平台上集成相关组件实现的(如 Spark MLib),但也有很多算法不能满足实际需要,因此需要集成一些第三方的算法库和集群环境作为补充。
以数据仓库理论管理和组织各类数据
数据仓库无疑是企业对于数据组织和管理的事实标准,不管是传统平台还是大数据平台,数据仓库理论都是科学有效的数据管理方法,可以说“没有数据仓库的大数据平台是没有灵魂的”。通过数据仓库体系的治理,企业数据的质量会得到大幅提升,也更利于前台的使用。
对外提供强大的数据服务,支持多种协议的数据传输与交互
过去的数据平台基本上都是将处理好的数据存放在关系型数据库中,供外围系统通过连接数据库的方式自行获取,可以说这是最低水平的数据服务,一个好的数据平台一定要提供强大的数据服务以便让数据需求方更容易和便捷地获取数据。平台支持的协议和方式越丰富,越能容易地帮助各业务中心和前台应用,加速集成和对接,降低企业整体的研发成本。而灵活便捷的数据获取方式又会吸引企业的数据供给方将数据主动放到数据中台上,从而享受数据中台带来的“红利”。
拥有完善的数据治理体系,数据质量能够得到有效保障
数据治理是贯穿数据平台建设全过程的一项工作,它是技术和管理方式的一种综合手段。数据中台一般会引入一些专业的数据治理工具对数据质量进行把控,这些工具会根据预定义的业务和技术规则定期抽检目标数据进行验证,并给出数据质量报告。为了配合数据治理,企业在管理上也应该成立相应的组织或机构来负责,这是建设数据中台在管理方面要做的工作之一。
精准的细粒度安全控制
数据中台要提供技术和管理上的多重机制保障企业的数据安全。从技术上看,数据中台需要提供严格的认证与授权机制来管理每一个使用平台的用户(包括自然人账户和应用系统账户),提供健全的数据加密与脱敏机制对敏感数据进行特殊处理,同时对每类数据的所有人、使用者和读写权限都要有明确的记录和追踪,对账户创建和授权申请都要有完备的审批机制。
作者介绍
耿立超,架构师,14 年 IT 系统开发和架构经验,对大数据、企业级应用架构、SaaS、分布式存储和领域驱动设计有丰富的实践经验,热衷函数式编程。目前负责企业数据中台的架构设计和开发工作,对 Hadoop/Spark 生态系统有深入和广泛的了解,参与过 Hadoop 商业发行版的开发,曾带领团队建设过数个完备的企业数据平台,个人技术博客:作者著有《大数据平台架构与原型实现:数据中台建设实战》一书,该书已在京东和当当上线。
建设数据中台系列
企业数据能力测评:认清现状,布局未来丨建设数据中台系列(一)
怎么走着走着就变“烟囱”了呢?丨建设数据中台系列(二)
SOA 为什么不“香”了?丨建设数据中台系列(三)
中台架构详解(上)丨建设数据中台系列(四)
中台架构详解(下)丨建设数据中台系列(五)
“数据中台”怎么建?丨建设数据中台系列(七)