大数据常见架构

经典离线数仓架构(业界主流)

ODS 数据准备区

DW  数据仓库层(DMI公共维度,DWD数据明细,DWS轻度数据汇聚)

ADS 应用层

分层原因:
1、简化问题
2、明细血缘
3、减少重复开发、计算
4、适应业务的快速变化

 

Lambda架构(当前业界主流)

batch Layer-----批处理层(离线)      处理全量数据+预计算

Speed Layer----加速处理层(实时)  仅增量,补充离线高延迟导致的数据空白

Serving Layer--合并层(将查询转换为 离线+实时)

架构分析:

1、Speed Layer数据上的各种错误不会保留,再batch Layer重计算的时候可以更新(优点),但同样会导致实时数据与批计算不一致问题(缺点)

2、Batch Layer和Speed Layer同一个业务逻辑两套代码(缺点),同一份数据计算过程要分别走流和批浪费资源(缺点)

3、批计算无法及时出数(缺点,但可以将天任务切换为小时任务缓解)

4、batch Layer可以采用经典离线数仓架构

 

Kappa架构

Speed Layer 消息传输层---原始数据全量存储

Serving Layer 流处理层-----处理全量数据

架构分析:

1、只有实时处理(优点简单、数据一致性)

2、Speed Layer保存一定期限内全量数据,可以起新实例重算(优点),重算复杂(缺点)

3、Serving Layer应对大规模数据重算不力,响应不及时(缺点),需要考虑实时计算丢数据的问题(缺点)

 

流批一体架构(业界认为未来主流)

Lambda 架构的升级版,最早被称为Unified Lambda 架构,使用统一API操作batch Layer和Speed Layer

目前该架构目标:

1)计算流批一体  处理逻辑上流批公用一套代码

2)存储流批一体  存储上流批使用同一套存储数据(避免存储浪费和数据不一致问题)

 

 

其他一些构架思想:

IOTA架构---去中心化,清洗计算在客户端完成,服务器端仅查询收集(不适应快速变化的业务需求;需要数据采集--查询全链路数据协同一致)

 

PS:我仅搭建过经典数仓架构和Lambda架构,对其他结构的认识源于学习和他人的分享,如有认识错误之处还请多多指正

 

参考文章:

腾讯游戏广告流批一体实时湖仓建设实践

解读主流大数据架构

 
posted @ 2023-04-12 00:14  梦里繁花  阅读(99)  评论(1编辑  收藏  举报