AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

“数据中台”有何不同?丨建设数据中台系列(六)

  • 2020-08-06
  • 本文字数:3591 字

    阅读完需:约 12 分钟

“数据中台”有何不同?丨建设数据中台系列(六)

回顾企业数据平台的发展史,我们可以梳理出三个重要阶段:


  • 第一阶段:最初是以关系型数据库为基础的“数据仓库”,包括由此衍生出的商业智能(BI)和各类报表工具,这可以认为是第一代数据平台,它技术可靠、理论成熟,在数据体量不大、实时性要求不高的场景下有很好的适用性,多年发展积累下来的生态优势(包括技术、工具、人才等)使得它直到今天依然在很多企业中广泛应用着。

  • 第二阶段:后来,随着大数据技术的崛起,数据平台在技术上有了新的选择和发展空间,特别是在实时数据处理和人工智能方面有了质的突破,与之相对应的是理论上的更新换代,人们从数据仓库理论延伸出了“数据湖”的设想,数据湖以大数据技术为支撑,在数据仓库理论上做了一些适当的扩充,提倡保留数据的原始形态以便为未来的各种分析留下空间,同时它更加倾向于使用 Schema on Read 而不是关系型数据库使用的 Schema on Write 进行数据处理。从理论上看,数据湖不足以像数据仓库一样成为一个独立的理论体系,人们更多的时候将它与大数据放在一起讨论,用来指代使用大数据技术构建的数据平台。

  • 第三阶段:再之后就是随着中台架构一起提出的“数据中台”了。今天企业的 IT 生态可以自然地分为应用和数据两大部分,前者指的是各类业务应用系统,后者指的是数据仓库、数据湖等中心化的数据平台。由于这两类系统的设计思想和实现技术都有很大的差异,所以中台架构顺势分成了业务中台和数据中台两部分,这就是数据中台产生的大背景。


目前数据中台的主流架构都是以大数据技术为基础搭建的,具体来说,它是以 Hadoop 生态圈内的各种工具和 Spark 作为主要的技术堆栈,有的企业还会基于自身情况再搭配使用 Elasticsearch、MongoDB、Cassandra、Kudo 等其他数据处理和存储引擎。从技术架构上看,多以 Lambda 架构为主,划分批处理和实时处理两条数据处理通道。同时数据中台还往往具备人工智能及机器学习相关的能力,它会涵盖数据仓库和数据湖的全部职能,会提供强大的数据服务供业务中台和前台应用使用。本文核心观点援引自作者所著的《大数据平台架构与原型实现:数据中台建设实战》一书,全书对数据中台的理念、架构和具体实现做了详细论述。

1 数据中台所要解决的问题

在展开对数据中台的详实介绍之前,我们有必要对当前的企业数据生态做一些梳理,以便于我们能正对性地理解中台存在的意义。


目前,大多数企业特别是传统行业里的甲方企业,由于信息化水平的制约其数据生态还停留在较为落后的状态,存在着不少问题,以下是一些典型状况:


  • 数据离散分布,信息孤岛的问题还没有完全得到解决;

  • 依然在大量使用文件进行数据交互,没有实时 API,制约了上层业务流程的时效性;

  • 企业数据处理平台依然依赖传统技术,负荷已经达到上限,无法进行水平伸缩;

  • 大量数据离散于业务用户手工维护的文件中,难以自动化收集并处理;

  • 同类型数据在多个业务系统中同步,数据冗余严重,一致性差,需要重复采集、核查、去重,成本高;

  • 没有实时数据处理能力,无法快速及时地处理数据并反馈给业务用户;

  • 没有健全的数据安全保障机制,面临数据泄露的风险;

  • 缺乏完善的数据治理机制,数据质量参差不齐。


在过去,企业通过建立自己的数仓系统来统一存储和处理企业数据,这一过程要经历数年,并且会伴随着新数据源的产生持续进行。但是随着大数据时代的来临,传统数仓系统已经越来越难以支撑企业对数据处理的需求了,这体现在如下几个方面:


  • 随着信息化的不断深入,企业产生的数据每年都在爆炸式的增长,传统数仓系统缺乏简单有效的水平伸缩能力,导致系统容量已经过饱和,系统性能遇到了“天花板”;

  • 传统数仓系统只能处理关系型数据,很难处理非关系型数据;

  • 企业对数据分析提出了更高的要求,在人工智能及机器学习等诸多新型领域都有迫切的需求,传统的数仓系统很难支撑这些新型的分析需求;

  • 实时的数据分析越来越受到企业的重视,尤其是在一些大促等关键业务周期,传统数仓系统都是基于批量的离线处理,无法满足实时数据分析的需要。


这些因素都促使企业加大了对新一代数据平台的投入,通过构建基于大数据技术的新平台来应对新的挑战,而数据中台则成了目前大数据平台建设中最新、最热的方法论。

2 数据中台具备的能力

数据中台必须具备如下能力。

平滑自如的水平伸缩能力,从容应对海量数据

平滑自如的水平伸缩能力是数据中台必须具备的,特别是在数据体量迅速膨胀的今天,不具备存储和计算水平伸缩能力的平台是很难生存的,好在今天几乎所有的大数据技术都是分布式的,这赋予了数据中台天然的水平伸缩能力。

对资源拥有细粒度的控制能力,支持多任务、多用户下的作业处理

作为中心化的平台,企业不同部门和团队的数据都会存放在上面,每天会有大量的定时和即席作业运行,因此数据中台必须具备“多租户”的数据管理能力,对资源能进行细粒度的切分和调控。以 Hadoop 上的资源管理平台 Yarn 为例,通过定义各种动态资源分配策略,可以很好地协调各种作业之间的资源使用情况,确保各个业务线和不同用户的数据处理任务能及时有序地执行。

强大的实时处理能力

实时数据处理能力是以往传统数据平台所不具备的,这是数据中台的一大优势和亮点,通过实时处理我们可以将业务情况实时地反馈给用户,极大地缩短了业务用户的等待时间,提升了用户体验,在一些大促活动期间(如双 11),实时计算的时效性对于业务决策的支持作用会更加重要。

参与业务请求处理的能力

依托于实时计算能力,数据中台将有机会参与在线的业务处理,特别是在那些需要基于大量数据处理才能给出响应的业务请求(如用户积分的实时计算),过去这些处理都是通过批处理作业在夜间完成的,时效性和用户体验很差,现在通过数据中台可以实时地计算出结果并反馈给业务系统,这使得数据平台也开始参与在线的业务处理了。

具备人工智能及机器学习的数据分析能力

这是目前数据分析和应用领域最看重的能力,是当前数据分析领域的“皇冠”,它所带来的数据洞察能力是以往传统数据分析方法无法企及的,没有这种能力的数据中台是不完善的。这部分能力一般是通过在大数据平台上集成相关组件实现的(如 Spark MLib),但也有很多算法不能满足实际需要,因此需要集成一些第三方的算法库和集群环境作为补充。

以数据仓库理论管理和组织各类数据

数据仓库无疑是企业对于数据组织和管理的事实标准,不管是传统平台还是大数据平台,数据仓库理论都是科学有效的数据管理方法,可以说“没有数据仓库的大数据平台是没有灵魂的”。通过数据仓库体系的治理,企业数据的质量会得到大幅提升,也更利于前台的使用。

对外提供强大的数据服务,支持多种协议的数据传输与交互

过去的数据平台基本上都是将处理好的数据存放在关系型数据库中,供外围系统通过连接数据库的方式自行获取,可以说这是最低水平的数据服务,一个好的数据平台一定要提供强大的数据服务以便让数据需求方更容易和便捷地获取数据。平台支持的协议和方式越丰富,越能容易地帮助各业务中心和前台应用,加速集成和对接,降低企业整体的研发成本。而灵活便捷的数据获取方式又会吸引企业的数据供给方将数据主动放到数据中台上,从而享受数据中台带来的“红利”。

拥有完善的数据治理体系,数据质量能够得到有效保障

数据治理是贯穿数据平台建设全过程的一项工作,它是技术和管理方式的一种综合手段。数据中台一般会引入一些专业的数据治理工具对数据质量进行把控,这些工具会根据预定义的业务和技术规则定期抽检目标数据进行验证,并给出数据质量报告。为了配合数据治理,企业在管理上也应该成立相应的组织或机构来负责,这是建设数据中台在管理方面要做的工作之一。

精准的细粒度安全控制

数据中台要提供技术和管理上的多重机制保障企业的数据安全。从技术上看,数据中台需要提供严格的认证与授权机制来管理每一个使用平台的用户(包括自然人账户和应用系统账户),提供健全的数据加密与脱敏机制对敏感数据进行特殊处理,同时对每类数据的所有人、使用者和读写权限都要有明确的记录和追踪,对账户创建和授权申请都要有完备的审批机制。

作者介绍

耿立超,架构师,14 年 IT 系统开发和架构经验,对大数据、企业级应用架构、SaaS、分布式存储和领域驱动设计有丰富的实践经验,热衷函数式编程。目前负责企业数据中台的架构设计和开发工作,对 Hadoop/Spark 生态系统有深入和广泛的了解,参与过 Hadoop 商业发行版的开发,曾带领团队建设过数个完备的企业数据平台,个人技术博客:https://laurence.blog.csdn.net/ 作者著有《大数据平台架构与原型实现:数据中台建设实战》一书,该书已在京东和当当上线。

建设数据中台系列

企业数据能力测评:认清现状,布局未来丨建设数据中台系列(一)


怎么走着走着就变“烟囱”了呢?丨建设数据中台系列(二)


SOA 为什么不“香”了?丨建设数据中台系列(三)


中台架构详解(上)丨建设数据中台系列(四)


中台架构详解(下)丨建设数据中台系列(五)


“数据中台”怎么建?丨建设数据中台系列(七)


2020-08-06 11:173701

评论

发布
暂无评论
发现更多内容

掌握这个方法,让工作经验配得上工作时间!

博文视点Broadview

你知道Redis为什么要设计成单线程吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

React组件之间的通信方式总结(下)

beifeng1996

React

HashMap源码分析(一)

知识浅谈

hashmap 10月月更

无法吃午餐的学生数量

掘金安东尼

算法 10月月更

Linux下IIC驱动编写,介绍IIC子系统框架的使用

DS小龙哥

10月月更

React组件之间的通信方式总结(上)

beifeng1996

React

CEF | CEF浏览器客户端功能扩展:实现前进、后退、刷新、调用控制台、设置cookie、网页自适应窗体大小

YOLO.

qt 10月月更 C++

react源码分析:组件的创建和更新

flyzz177

React

一种基于柔性事务的分布式事务解决方案设计探究

京东科技开发者

分布式事务 事务 分布式架构 事务回滚 分布式处理

前端关于面试你可能需要收集的面试题

loveX001

JavaScript

React源码分析2-深入理解fiber

goClient1992

React

Linux下驱动开发_块设备驱动开发(内存模拟存储)

DS小龙哥

10月月更

Redis是如何保证数据一致性的

芥末拌个饭吧

后端 redis 底层原理 10月月更

数据湖(四):Hudi与Spark整合

Lansonli

Hudi 10月月更

2022年ArchSummit全球架构师峰会杭州站感想

谙忆

ArchSummit 飞链云 架构师峰会

react源码分析:babel如何解析jsx

flyzz177

React

CEF | CEF浏览器客户端功能扩展:实现下载列表功能

YOLO.

qt 10月月更 C++

react源码中的fiber架构

flyzz177

React

CorelDRAW 2019 软件应用项目(五)

张立梵

设计师 CorelDRAW 2022 10月月更

promise执行顺序面试题令我头秃,你能作对几道

loveX001

JavaScript

React源码分析1-jsx转换及React.createElement

goClient1992

React

Linux下RTC驱动开发(硬件采用DS1302)

DS小龙哥

10月月更

Linux下驱动开发_块设备驱动开发(硬件上采用SD卡+SPI协议)

DS小龙哥

10月月更

Lerna最佳实践(内含大量代码)

鲸品堂

代码 lerna

React面试八股文(第二期)

beifeng1996

React

谈谈spark性能调优的方法

芥末拌个饭吧

spark 后端 10月月更

CorelDRAW 2019 软件应用项目(六)

张立梵

设计师 CorelDRAW 2022 10月月更

js异步编程面试题你能答上来几道

loveX001

JavaScript

华为云从入门到实战 | 云速建站服务与企业主机安全服务

TiAmo

华为 华为云 云开发 10月月更

C++中变化布局实现思路

中国好公民st

c++ 布局 10月月更

“数据中台”有何不同?丨建设数据中台系列(六)_大数据_耿立超_InfoQ精选文章