《王萌萌-美团增量湖仓Beluga的架构设计与业务实践.pdf》由会员分享,可在线阅读,更多相关《王萌萌-美团增量湖仓Beluga的架构设计与业务实践.pdf(21页珍藏版)》请在三个皮匠报告上搜索。
1、演讲人:王萌萌 美团数据湖架构团队负责人美美团增量湖仓团增量湖仓Beluga的架构的架构设计与业务实践设计与业务实践DataFunSummit 2025典型场景Typical Scenarios01Beluga的架构与设计The Architecture and Design of Beluga02业务实践Business Practice03未来计划Work Plan For Future04目 录CONTENTSDataFunSummit 2025典型场景典型场景-ODS数据入湖 ODS数据语义:全量表、快照表、增量表 可同时存在,物理上相互独立,各占存储 workload特征:增量数据:
2、存量数据=1:几百keyvaluectimek1v120250322 12:00:00k2v220250322 13:00:00k3v320250323 14:00:00k4v420250324 12:00:00k5v520250324 13:00:00keyvaluectimek1v120250322 12:00:00k2v220250322 13:00:00k3v320250323 14:00:00k4v420250324 12:00:00k5v520250324 13:00:00dt=20250322dt=20250323dt=20250324keyvaluectimek1v120250
3、322 12:00:00k2v220250322 13:00:00k1v120250322 12:00:00k2v220250322 13:00:00k3v320250323 14:00:00k1v120250322 12:00:00k2v220250322 13:00:00k3v320250323 14:00:00k4v420250324 12:00:00k5v520250324 13:00:00dt=20250322dt=20250323dt=20250324快照表全量表增量表典型场景-长周期历史数据更新 问题:少数长尾数据的更新,需要对全量数据进行读写,IO放大严重,资源浪费典型场景-流
4、批一体的生产 业务数仓的子链路迁移至湖生产 全局看同时存在流、批下游123ODS数据入湖长周期历史数据更新流批一体的生产核心设计思路MOR,一表三模式基于ChangeLog的计算兼顾流批共存的读写负载Beluga的架构与设计架构概要存储底座:HDFSFileLayout:两层分桶设计,面向流、批不同负载独立的MetaServer服务:维护Timeline、Instant、Bucket等组织关系管理compaction、clean等表服务引擎生态:Flink、Spark、PrestoBeluga的设计-ODS场景一表三模式:一表三模式:基于某时间字段计算数据所属的时序分区分区数据存在继承关系分区
5、创建时记录timeline上界查询时,按需求的语义选择timeline区间,即下界,进一步完成数据的组织增量数据占比少:增量数据占比少:有序数据结构:LSMTreeMOR,减少IO放大BaseFileLogFile1LogFile3dt=20241103BaseFileLogFile1dt=20241102RepairFiledt=20241101全量表快照表增量表LogFile3dt=20241103LogFile1dt=20241102LogFile0dt=20241101BaseFileLogFile1LogFile3LogFile2LogFile2LogFile2dt=20241101
6、BaseFileLogFile0RepairFiledt=20241102LogFile1dt=20241103LogFile2LogFile3timelinedelta commitmajor compactdelta commitdelta commitrepaircommitBeluga的设计-流批下游共存的兼容两级分桶:L0:面向流读流写,HFile,参与批读MORL1:面向批读批写,Parquet动态调整分桶数:计算compact同时计算是否需要rescale分桶数量;流读写:在compact提交后的新事