深度剖析如何建设数据中台

一、数据中台发展历史

深度剖析如何建设数据中台_第1张图片
1.服务端数据
可以实时产生数据,做一些简单的数据分析,缺点是数据一般不会备份,比如用户数据一般只会保存一份。
2.离线数据,数字仓库诞生
数据仓库是企业管理和决策中,面向主题的、与时间相关的,不可修改的数据集合。
随着上个世纪90年代的商业智能概念的兴起,越来越多的企业重视基于数据做出的决策,基于服务端实时数据无法实现商业分析,在原有基础上,提出了数字仓库的概念,用于存储历史快照数据。
3.大数据平台
随着业务飞速发展,随之产生的用户行为以及各种领域沉淀下来的数据呈几何倍数增长;业务决策方面也需要通过大量数据分析帮助管理者做出一些决策,这些都是数据库单机所无法承载的
2005年hadoop的诞生从根本上解决了单机计算性能差的问题,通过map reduce的方式,只需要少数性能一般且价格低廉的服务器,就可以聚合搭建出一个计算性能优异的分布式计算集群,给计算能力带来了质的飞跃
随着hadoop的诞生,大数据概念开始兴起,在数仓基础之上,各大公司纷纷构建自己的大数据平台,从数据集成、数据清洗、任务开发、运维等等,整套开发过程是一套特别负责的链路,这就需要一个高效的平台进行支撑。
技术的精进,spark,hive,flink等技术的诞生,都给大数据平台注入了新的更强大的能力,其中hive和spark负责底层数据清洗,其中spark用的越来越多,性能要比hive强不少;flink用来处理和解决实时计算的问题,impala用来解决交互式查询的场景;数据存储在 HDFS、Kudu 和 HBase 系统内。HDFS 不可更新,主要存全量数据,HBase 提供了一个可更新的 KV,主要存一些维度表,Kudu 提供了实时更新的能力,一般用在实时数仓的构建场景中。比如集团内的dataworks平台就是这种大数据平台的产品
4.数据中台
业务的快速发展,背后对数据的需求越来越多,烟囱式的开发模式会导致不同的业务线,甚至相同业务线不同应用之间数据是割裂的,比如在一个数据开发团队,不同的产品需求也可能导致对同一个数据指标的口径也不同,比如有效播放歌曲数指标终关于有效播放的定义,可能就会产生多种定义,如30秒,两分钟,三分钟等等,同一首歌可能在不同报表中的有效播放数是不同的,直接导致对于数据的可信度下降。
数据割裂的另一个问题,是大量重复计算,重复的开发项目,不仅造成了人力的浪费,对于计算资源、存储资源等都是浪费。当新人入职时,想查一个数据时,会发现有很多类似的表,完全不知道该用哪个,没有条理清晰的数据分层结构和定义,也会导致工作效率的低下。
综上所述,数据中台的核心,是避免数据的重复计算,通过数据服务化,提高数据的共享能力,赋能数据应用。之前,数据是要啥没啥,中间数据难于共享,无法积累。现在建设数据中台之后,要啥有啥,数据应用的研发速度不再受限于数据开发的速度,一夜之间,我们就可以根据场景,孵化出很多数据应用,这些应用让数据产生价值。
深度剖析如何建设数据中台_第2张图片

二、数据中台建设核心方法论

1.One Data

意思是所有数据只加工一次,诣在解决重复开发低效率的问题,包括以下几个维度深度剖析如何建设数据中台_第3张图片

划分主题域

在建立一个新业务的数仓时,首先需要对业务所包括的领域模型进行充分的了解,比如对腾讯视频进行数仓建设,需要划分成用户域、内容域、交易域、日志域等等。

统一命名规范定义

深度剖析如何建设数据中台_第4张图片

指标一致

在实际开发中,往往会有这样的情况,以腾讯视频日常数据开发为例,开发人员张三和李四同时开发了两个关于热播剧大江大河视频播放量统计的报表;但是张三报表中视频有效播放量为1900W,而李四报表中视频有效播放量则为2500W,老板看到这个数据就懵逼了,不知道哪个人跑的数据是对的,还是两个都是错的。
通过对两个人的数据代码进行分析,发现是因为两个同学对于有效播放量的“有效”指标定义不同,张三认为是整集播放完毕为有效播放,李四则认为每一集播放80%即可算为有效播放,所以二者在数据产出时有出入。
这样的场景相信绝大多数互联网公司每天都在上演,那么如何解决这个问题呢?需要建立一套统一的指标管理系统来维护这一套指标。系统大致流程如下:
(1)新建指标字段,发起工单审批
(2)数据开发团队对指标进行评估,如对有效播放量的定义进行确定
(3)指标评审通过,汇入指标池
(4)数据开发同学通过勾选指标池中的指标进行表结构创建,不允许私自创建表。

数据模型复用

深度剖析如何建设数据中台_第5张图片
为了实现模型的复用,数据中台适合采用分层的设计方式,类似微服务,常见的分层包括:ODS 原始数据层,DWD 明细数据层,DWS 轻度汇总数据层,ADS/DM 应用数据层 / 数据集市层。最后,数据中台的数据必须尽可能的覆盖所有的业务过程,数据中台中每一层的数据也要尽可能完善,让数据使用者尽可能的使用汇总后的数据。

2.One Service

诣在解决数据访问的问题,通过开放服务的形式供业务方接入,同时融合了微服务的指标,包括运维,监控,分布式等等。
深度剖析如何建设数据中台_第6张图片

你可能感兴趣的:(java,大数据,运维,数据分析,数据库)