大数据环境下的两种数仓架构
Lambda 架构
Lambda架构核心就三个:批数据处理层、流数据处理层和服务层。批数据处理层应对历史长时间数据计算,流数据处理层应对短时间实时数据计算。如果一个需求要历史到当前所有数据的累加结果,那就在服务层将两部分数据进行累加。
Kappa 架构
Kappa架构的设计理念是,全部都进行流式计算。流式计算的数据来源是消息队列,把所有需要计算的数据放在消息队列里,然后让流计算引擎计算所有数据。
因为所有数据都存在Kafka,上面接Flink批流一体数据处理引擎将kafka的数据计算好存在服务层的table n中。如果需求有变化了,就讲kafka的offset调整一下,Flink则重启一个任务重新计算,存在table N+1中,当N+1的数据进度赶上table n了,就停掉table n的任务。
数据时代的数据仓库,总体来说是根据当前的业务需求去进行架构设计的,所以需要更多结合业务去考量。