根据数仓架构演变过程在Lambda架构中含有离线处理与实时处理两条链路其架构图如下: 正是由于两条链路处理数据导致数据不一致等一些列问题所以才有了Kappa架构Kappa架构如下: Kappa架构可以称为真正的实时数仓目前在业界最常用实现就是Flink + Kafka然而基于Kafka+Flink的实时数仓方案也有几个非常明显的缺陷所以在目前很多企业中实时数仓构建中经常使用混合架构没有实现所有业务都采用Kappa架构中实时处理实现。Kappa架构缺陷如下: Kafka无法支持海量数据存储。
对于海量数据量
的业务线来说Kafka一般只能存储非常短时间的 巴西电话号码数据 数据比如最近一周甚至最近一天。 Kafka无法支持高效的OLAP查询大多数业务都希望能在DWDDWS层支持即席查询的但是Kafka无法非常友好地支持这样的需求。 无法复用目前已经非常成熟的基于离线数仓的数据血缘数据质量管理体系。需要重新实现一套数据血缘数据质量管理体系。 Kafka不支持update/upsert目前Kafka仅支持append。 实际场景中在DWS轻度汇聚层很多时候是需要更新的DWD明细层到DWS轻度汇聚层一般会根据时间粒度以及维度进行一定的聚合用于减少数据量提升查询性能。
假如原始数据是
秒级数据聚合窗口是分钟那就有可能产生某些 格鲁吉亚电话号码列表 延迟的数据经过时间窗口聚合之后需要更新之前数据的需求。 这部分更新需求无法使用Kafka实现。 所以实时数仓发展到现在的架构一定程度上解决了数据报表时效性问题但是这样的架构依然存在不少问题随着技术的发展相信基于Kafka+Flink的实时数仓架构也会进一步往前发展那么到底往哪些方向发展我们可以结合大公司中技术选型可以推测实时数仓的发展大致会走向批流一体”。