0%

实时数仓

当设计一款产品或者平台的时候,可以划分为两层,即底层实现和上层抽象。

实时数仓和传统数仓的对比主要可以从四个方面考虑:

  • 第一个是分层方式,离线数仓为了考虑到效率问题,一般会采取空间换时间的方式,层级划分会比较多;则实时数仓考虑到实时性问题,一般分层会比较少,另外也减少了中间流程出错的可能性。
  • 第二个是事实数据存储方面,离线数仓会基于 HDFS,实时数仓则会基于消息队列(如 Kafka)。
  • 第三个是维度数据存储,实时数仓会将数据放在 KV 存储上面。
  • 第四个是数据加工过程,离线数仓一般以 Hive、Spark 等批处理为主,而实时数仓则是基于实时计算引擎如 Storm、Flink 等,以流处理为主。

实时数仓主要有两个要点。首先是分层设计上,一般也是参考离线数仓的设计,通常会分为ODS操作数据层、DWD明细层、DWS汇总层以及ADS应用层,可能还会分出一层DIM维度数据层。另外分层设计上也有不同的思路,比如可以将DWS和ADS归为DM数据集市层


reference:

实时数仓 | 你想要的数仓分层设计与技术选型 - 云+社区 - 腾讯云