主页 > 新闻资讯 > 大数据培训:三种大数据数据仓库架构对比

大数据培训:三种大数据数据仓库架构对比

作者:张老师 浏览次数: 2021-07-20 17:21
搭建大数据平台,从架构层面来说,数据仓库是一定需要的。而基于具体的场景需求,在数据仓库搭建上,也有不同的解决方案。今天的大数据培训分享,我们来讲讲,三种大数据数据仓库架构对比。

一、离线大数据架构

数据源通过离线的方式导入到离线数仓中。下游应用根据业务需求选择直接读取DM或加一层数据服务,比如MySQL或Redis。数据仓库从模型层面分为三层:

ODS,操作数据层,保存原始数据;

DWD,数据仓库明细层,根据主题定义好事实与维度表,保存最细粒度的事实数据;

DM,数据集市/轻度汇总层,在DWD层的基础之上根据不同的业务需求做轻度汇总;

典型的数仓存储是HDFS/Hive,ETL可以是MapReduce脚本或HiveSQL。

大数据培训:三种大数据数据仓库架构对比

二、Lambda架构

Lambda架构问题:

同样的需求需要开发两套一样的代码:这是Lambda架构最大的问题,两套代码不仅仅意味着开发困难(同样的需求,一个在批处理引擎上实现,一个在流处理引擎上实现,还要分别构造数据测试保证两者结果一致),后期维护更加困难,比如需求变更后需要分别更改两套代码,独立测试结果,且两个作业需要同步上线。

资源占用增多:同样的逻辑计算两次,整体资源占用会增多,多出实时计算这部分。

大数据培训:三种大数据数据仓库架构对比

三、Kappa架构

Lambda架构虽然满足了实时的需求,但带来了更多的开发与运维工作,其架构背景是流处理引擎还不完善,流处理的结果只作为临时的、近似的值提供参考。后来随着Flink等流处理引擎的出现,流处理技术很成熟了,这时为了解决两套代码的问题,LickedIn的Jay Kreps提出了Kappa架构。

Kappa架构可以认为是Lambda架构的简化版(只要移除lambda架构中的批处理部分即可)。

在Kappa架构中,需求修改或历史数据重新处理都通过上游重放完成。

Kappa架构最大的问题是流式重新处理历史的吞吐能力会低于批处理,但这个可以通过增加计算资源来弥补。

大数据培训:三种大数据数据仓库架构对比

Kappa架构的重新处理过程:

大数据培训:三种大数据数据仓库架构对比

四、 Lambda架构与Kappa架构的对比
大数据培训:三种大数据数据仓库架构对比

在真实的场景中,很多时候并不是完全规范的Lambda架构或Kappa架构,可以是两者的混合,比如大部分实时指标使用Kappa架构完成计算,少量关键指标(比如金额相关)使用Lambda架构用批处理重新计算,增加一次校对过程。

Kappa架构并不是中间结果完全不落地,现在很多大数据系统都需要支持机器学习(离线训练),所以实时中间结果需要落地对应的存储引擎供机器学习使用,另外有时候还需要对明细数据查询,这种场景也需要把实时明细层写出到对应的引擎中。

大数据培训:三种大数据数据仓库架构对比

关于大数据培训,三种大数据数据仓库架构对比,以上就为大家做了大致的介绍了,数据仓库架构设计,是大数据平台搭建的重要一环,作为开发者而言,对于主流的解决方案应该做到心中有数。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频,可联系客服获取!
热点排行
推荐文章
立即申请>>