目前,外界与业内很多人对于数据中台的理解存在误区,一直只是在强调技术的作用,强调技术对于业务的推动作用,但在商业领域落地的层面上,更多时候技术的发展和演进都是需要跟着业务走,技术的发展和进步需要基于业务方的需求与数据场景应用化的探索来反向推动。
这个也就是为什么最近知乎都在疯传阿里在拆“大中台”?
个人猜想,原因是没有真正理解中台的本质,其实阿里在最初建设数据中台的目的主要是为了提升效率和解决业务匹配度问题,最终达到降本增效,所以说“拆”是假的,在“拆”的同时一定在“合”,“拆”的一个方面是企业战略布局层面上的规划,架构升级,如果眼界不够高,格局不够大,看到的一定只是表面;
另一方面不是由于组织架构庞大而做“拆”的动作,而是只有这样才能在效率和业务匹配度上,做到最大利益化的解耦。
数据中台出现的意义在于降本增效,是用来赋能企业沉淀业务能力,提升业务效率,最终完成数字化转型。前一篇数据中台建设的价值和意义,提到过企业需要根据自身的实际情况,打造属于自己企业独有的中台能力。
01
数据中台演进的过程
从数据处理的维度来聊一聊数据中台经历的四个阶段:数据库阶段、数据仓库阶段、数据平台阶段、数据中台阶段。
1、数据库阶段:OLTP(事务处理)是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,记录及时的增、删、改、查。比如银行交易、电商交易等
2、数据仓库阶段:数据仓库系统的主要应用主要是OLAP(联机分析处理),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。比如复杂的动态报表分析、用户价值分析等
3、数据平台阶段:其实,目前业界并没有对大数据平台做统一的定义,一般情况下,只要使用了Hadoop/Spark/Storm/Flink等这些分布式的实时或者离线计算框架,建立计算集群,并在上面运行各种计算任务,具有数据互联互通、支持多数据集实时同步、支持数据资源管理、实现多源异构数据的整合管控;
提供完善的大数据分析基础运行环境,提供统一二次开发接口等能力的,就算的上理解上的大数据平台。主要是为了解决大数据存储计算 + 数据应用管理 + 任务监控 + 数据资产管理 + 开发管理 + 可视化报表需求等
4、数据中台阶段:指具有全域级、可复用的数据资产中心与数据能力中心,对海量数据进行采集、计算、存储、加工,同时统一标准和口径,提供干净、透明、智慧的数据资产与高效、易用的数据能力来,能够对接OLTP(事务处理)和OLAP(报表分析)的需求,从业务架构设计到模型设计,从数据研发到数据服务,做到数据可管理、可追溯、可规避重复建设,强调的是数据业务化的能力
02
数据仓库、数据平台和数据中台的架构
【数据仓库架构图】
1、采集层
从各种数据源中采集数据和存储到数据到存储在基于Hadoop分布式文件系统HDFS上,期间做ETL操作。其中数据采集一般采用Flume收集日志,采用Sqoop将RDBMS以及NoSQL中的数据同步到HDFS上
数据源主要有:日志数据(服务器日志 + 系统日志等)+ 业务数据库(MySQL、Oracle等)+ 埋点数据(服务端埋点 + 移动端埋点数据等)+ 其他数据(Excel手工录入的数据、合作伙伴提供的接口数据、第三方爬虫数据、合法购买的第三方数据等)
2、存储与分析层
主要有离线计算 + 实时计算
存储系统:基于Hadoop分布式文件系统对采集层的数据进行存储
消息系统:加入Kafka防止数据丢失
离线计算:是对实时性要求不高的部分,通常将计算结果保存在Hive中
实时计算:使用Spark Streaming、Storm消费Kafka中收集的日志数据,然后通过实时计算,将结果保存在redis中
机器学习:用Spark MLlib提供的机器学习算法
3、共享层
通过离线和实时计算的数据分析与计算后的结果存储在数据共享层,做数据共享层,主要做数据分发和调度中心。因为通过Hive、MR、Spark、SparkSQL分析和计算的结果,是存储在HDFS上,业务和应用不可能直接从HDFS上获取数据。其中使用Kylin作为OLAP引擎做多维度分析
4、数据应用
报表展示 + 数据分析 + 即席查询 + 数据挖掘
5、任务调度与监控
【数据平台架构图】
1、采集层
基于Hadoop分布式文件系统对采集层的数据进行存储。
2、数据层
一方面,把相关业务结构化数据和有一定格式关系的半结构化的数据存放在Hadoop Hive数据仓库中,基于业务需求,按照特定的业务主题域进行数据集市的构建;另一方面把相关业务中半结构化的数据直接存放在HDFS分布
3、计算层
离线计算 + 实时计算
4、应用层
可视化数据分析报表 + 具体的场景应用
(此处已添加小程序,请到今日头条客户端查看)5、任务调度与监控
04
数据仓库、数据平台和数据中台的区别与联系
数据仓库、数据平台和数据中台的区别与联系:
1、在概念层面上
数据平台和数据中台的技术能力都是基于数据仓库发展而来的,在数据建设理论上一脉相承,他们处理的对象都是海量数据,服务目的、商业价值也同样类似。其实中平台和中台,两者在能力上都有对外都提供Open API服务。
一方面,中台是业务应用,不具体代表着某种技术,它不是最终用户能直接使用的,必须结合企业的各个数据业务场景;另一方面,平台是不带有业务特征性质的,主要汇集其他人的能力,整合成平台的能力,相对来说是静态的,而中台是动态变化的本身,需要通过数据驱动的方式来滋养业务,不断训练调整业务模型和业务算法提供的能力,提供给其他系统和平台集成的能力。
2、在数据层面上
数据仓库的数据来源主要来源于RDBMS,其中存储的数据格式以结构化数据为主,这些数据并非企业全量数据,而是根据企业业务需求做针对性整合、抽取。数据平台和数据中台的数据来源的期望都是全域级的数据,主要有结构化数据、半结构化数据、非结构化数据等
3、在目标层面上
4、在应用层面上
建立在数据中台上的数据应用场景,不仅仅只是面向于数据报表开发分析与展示处理,更多是将数据变成服务化的方式,然后提供给业务系统,比如面向用户的画像系统,搜索/推荐/广告营销系统等。