数据中台架构与技术选型
底座是数据基础平台
数据采集平台&计算平台&存储平台 可自建可使用云计算服务
中间部分两大块是中台的公共数据区
公共数据区包括数据仓库(数据湖) 主要负责公共数据模型研发 还包括统一指标(标签)平台 负责把模型组织成可以对外服务的数据,例如数据指标、数据标签
上层是数据应用服务层
将公共数据区的数据对外包装并提供服务,包括数据接口平台、多维查询平台,数据可视化平台、数据分析平台等
贯穿始终
- 数据开发平台
包括数据开发的各类工具组合 例如:数据管道工具(比如数据接入、数据导出)、模型设计工具、脚本开发工具、数据调度工具等
- 数据管理平台
包括统一元数据管理、数据质量管理、数据生命周期管理 针对数据全链路的数据管理,保证数据中台可以监控数据链路中的数据流向、数据使用效果、数据生命周期,以衡量数据的价值与成本
与业务充分结合
在数据中台的建设中一定不要忽视的是与业务的衔接 因为数据来源于业务并最终应用于业务 在数据中台的建设中需要有一系列的流程制度明确与业务的充分衔接 以保障数据源&数据产出的质量
数据抽取层
- sqoop
结构化数据(关系型数据库)离线抽取
- flume
非结构化日志接入
数据存储层
Hadoop文件系统Hdfs kafka作为流式数据总线
计算与调度层
离线计算主要是hive,spark 也有部分选用tez
实时计算
前些年storm,spark比较流行 最近几年大家纷纷往Flink转型
数据调度
除了像Airflow Azkaban Oozie等 易观开源的Dolphin-scheduler也非常活跃
数据引擎层
即OLAP层 这一层里的选择非常多 选择丰富主要是可以适配不同的数据应用场景 从概念上讲分为ROLAP、MOLAP以及两者混搭
- MOLAP
提前做一些预计算 以生成Cube的方式 达到空间换取查询效率
- ROLAP
即查即用 效率完全取决于查询引擎的性能 ROLAP的趋势会更加明显 因为没有中间的数据链路
数据可视化层
比较主流的有Metabase、Superset、Redash 也可以选择阿里、百度的一些开源控件
组件选择
开源组件选择标准
- 是否有鲜活的成功案例,优先找自己类似业务场景
- 接口的开放性,与其他组件的兼容性
- 社区活跃性度&发展趋势
商业化组件
基于云的数据组件可以选择 包括数据采集、处理、分析、数据可视化全过程
