背景
最近一段时间,经常与各位技术大佬说起中台服务相关的概念,在脑海中第一个概念SOA的概念,但是回想一下,应该会有差别:
SOA:业务系统分解为多个组件,组件之间独立提供离散,自治,可复用的服务能力,一般来说通过组合完成一个业务流程
微服务:服务间隔离,自治,边界,异步通信,一般来说服务的粒度会更大一些,独立应用,组合可满足系统应用,即满足最小可用流程
中台服务:微服务的组合?还是SOA的高度抽象?
个人理解的中台服务是:抽象各条业务线,把共用的服务抽象出来共享,发挥服务重用的价值。亦即是说,中台服务是严格执行SOA规范,并以微服务形式提供的服务形式。
问题来了
那么在数据技术体系来说,怎样定义”数据中台“呢?它跟数据平台、数据仓库、商业智能又有啥关系呢?它的定位和边界又是啥?
数据仓库:数据信息以支持商务决策的过程
商业智能:也就是常说的BI,指对数据仓库存储数据进行记录和分析过程;也就是说数据仓库是商业智能中的数据存储的核心基础设施
数据平台:提供可视化数据分析工具;访问数据工具;底层数据计算、存储框架等都可以归为数据平台
那回过头来看,数据中台是什么?个人归纳为:实现数据的分层与水平解耦,沉淀公共的数据能力。这样的描述看来很像数据仓库分层的概念了,但这里更多是指整个数据中台的分层。
个人认为数据中台应该包含三部分:底层技术支撑层 -> 数据服务提供层 <- 数据模型层。
架构分层
数据服务提供层:显然来看,就是把数据模型层的数据提供出去,如提供API、文件、消息,即数据服务开放内容
数据模型层:基础模型、挖掘模型、维度模型、融合模型,如数据主题数据、数值化挖掘数据等等,满足商业决策的数据支持
底层技术支撑层:支持底层数据计算、数据可视化、数据存储等相关技术