DataFunSummit 2022 數(shù)據(jù)湖論壇 數(shù)據(jù)湖技術(shù)論壇 (xiaoe-tech.com)
1. 美團(tuán)增量數(shù)倉(cāng)的探索和實(shí)踐
美團(tuán)離線增量數(shù)據(jù)的探索和實(shí)踐
Hadoop沒(méi)有主鍵概念
hive沒(méi)有主鍵概念
- upsert(replace),delete,MVCC(Multi Version concurrency Control)受限
- 有主鍵的數(shù)據(jù)在hive中,無(wú)法形成增量數(shù)據(jù)生產(chǎn)鏈路,必須全量數(shù)據(jù)參與
HDFS文件不支持修改
- Btree+覆蓋寫(xiě)的方式行不通
- 只能增量+存量進(jìn)行Merge產(chǎn)生最終數(shù)據(jù)集
架構(gòu)選型-數(shù)據(jù)模型
- MOR架構(gòu) -- 降低生產(chǎn)成本:讀數(shù)據(jù)時(shí)產(chǎn)生冗余IO + 離線compact
- 支持主鍵
- 支持復(fù)雜MVCC,不支持事物:同步任務(wù)模型:有調(diào)度的亂時(shí)間序?qū)懭?/li>
- sharding策略:1.差異化讀寫(xiě)并發(fā) 2.彈性伸縮:hash主鍵前綴 + range打散
架構(gòu)選型-HIDI
hadoop incremental dataformat implemtation
HFile + Bulkload + SnapshotinputFormat + 離線compact
美團(tuán)實(shí)時(shí)增量數(shù)據(jù)的探索和實(shí)踐
從增量數(shù)倉(cāng)到批流融合
批計(jì)算和流計(jì)算
批流一體的數(shù)倉(cāng)模型
- 開(kāi)發(fā)模型融合 -- Flink
- 調(diào)度融合 1. 批到流 mini batch by kafka 2. 流到批 mini batch by hudi logfile
- 存儲(chǔ)融合 1. 流join 2. 點(diǎn) + 批 + 增量 + 全量 + 離線 + 實(shí)時(shí)
- 批流應(yīng)能靈活切換
問(wèn)題
- level0 和 level1 區(qū)別
- 為什么選取hudi
2. 實(shí)時(shí)數(shù)倉(cāng)場(chǎng)景與架構(gòu)搭建實(shí)戰(zhàn)
數(shù)倉(cāng)設(shè)計(jì)架構(gòu)演進(jìn)
實(shí)時(shí)數(shù)倉(cāng)架構(gòu)
是否需要實(shí)時(shí)計(jì)算
- 當(dāng)前的業(yè)務(wù)場(chǎng)景是否需要
- 業(yè)務(wù)價(jià)值是什么
是否需要更輕的服務(wù)
- 更輕的運(yùn)維
- 更好的彈性伸縮能力
- 更好的系統(tǒng)穩(wěn)定性
- 成本節(jié)省
- 安全
- 減一點(diǎn)配置
Amazon Analytics Serverless
Amazon Analytics Serverless 服務(wù)
無(wú)服務(wù)器的實(shí)時(shí)數(shù)倉(cāng)架構(gòu)
還需要什么
Amazon Redshift 更強(qiáng)勁的云原生實(shí)時(shí)數(shù)倉(cāng)架構(gòu)
Redshift 架構(gòu)
Redshift 實(shí)時(shí)數(shù)據(jù)攝入能力
Redshift 實(shí)時(shí)數(shù)倉(cāng)
Redshift實(shí)時(shí)數(shù)倉(cāng)與實(shí)時(shí)計(jì)算
Redshift實(shí)時(shí)數(shù)倉(cāng) + ML
3. Delta技術(shù)原理及其在EBAY的應(yīng)用
Lakehouse架構(gòu)
Delta Lake技術(shù)原理
4. Icebege在微視實(shí)時(shí)場(chǎng)景的應(yīng)用
為何用Icebege
背景-數(shù)倉(cāng)架構(gòu)
- 實(shí)時(shí)數(shù)倉(cāng)成本高
- 兩套計(jì)算存儲(chǔ)的數(shù)據(jù)一致性和成本問(wèn)題
原因分析
Icebege與傳統(tǒng)存儲(chǔ)對(duì)比
如何用Icebege
落地結(jié)構(gòu)
使用Icebege支持實(shí)時(shí)需求
- 使用Icebege基礎(chǔ)核心模型建設(shè),為更多業(yè)務(wù)落地打基礎(chǔ)
- 成本降低超99%
數(shù)據(jù)回溯
- 新增指標(biāo)
- 修改計(jì)算口徑
- 數(shù)據(jù)修復(fù)
流轉(zhuǎn)批場(chǎng)景
流體一體
維護(hù)Icebege
數(shù)據(jù)維護(hù)
- 清除過(guò)期數(shù)據(jù)
- 清除過(guò)期快照
- 小文件合并 1. binpack策略 2. sort策略:例如:使用用戶ID做分組排序
- 元數(shù)據(jù)合并
- 清除孤兒文件
小文件合并原理
問(wèn)題
- 每次維表更新率在萬(wàn)分之一在Icebege如何更新
- flink中的數(shù)據(jù)回溯功能是如何實(shí)現(xiàn)的
- Icebege底層和hive的區(qū)別,存儲(chǔ)格式
- iceberg小文件合并占用多少資源
- upsert
5. Juice FS在數(shù)據(jù)湖存儲(chǔ)架構(gòu)上的探索
大數(shù)據(jù)存儲(chǔ)架構(gòu)概覽
大數(shù)據(jù)存儲(chǔ)架構(gòu)的變遷
為什么要有數(shù)據(jù)湖
- 數(shù)據(jù)孤島
- 多樣的數(shù)據(jù)格式(結(jié)構(gòu)化,半結(jié)構(gòu)化,非結(jié)構(gòu)化)
- 分散的數(shù)據(jù)管理
- 存儲(chǔ)計(jì)算耦合,缺乏彈性
- 機(jī)器學(xué)習(xí)和深度學(xué)習(xí)
什么是數(shù)據(jù)湖
- A data lake is a system or repository of data stored in its natural / raw format ,usually object blobs or files
- 一個(gè)足夠便宜,可靠且能支撐海量數(shù)據(jù)的底層存儲(chǔ)(對(duì)象存儲(chǔ))
- everything in one place
- 后置ETL
- 存儲(chǔ)計(jì)算分離,更加云原生
為什么要有湖倉(cāng)一體
- 數(shù)據(jù)倉(cāng)庫(kù)依然存在,只是后置了
- 數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)滯后性
- 機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的問(wèn)題依然存在
- 數(shù)據(jù)重復(fù)拷貝和重復(fù)ETL
- ACID事務(wù),多版本數(shù)據(jù),索引,零拷貝克隆等
什么是湖倉(cāng)一體
- 開(kāi)放統(tǒng)一的底層文件格式
- 開(kāi)發(fā)的存儲(chǔ)層
- 開(kāi)發(fā)的計(jì)算引擎集成
- 與深度學(xué)習(xí)框架的結(jié)合
Juice FS與Lakehouse
Juice FS簡(jiǎn)介
簡(jiǎn)介
架構(gòu)
Juice FS與HDFS,對(duì)象存儲(chǔ)的比較
Juice FS與數(shù)據(jù)湖生態(tài)
6. Icebege在小紅書(shū)的探索和實(shí)踐
APM日志入湖
數(shù)據(jù)平臺(tái)概覽
日志數(shù)據(jù)入湖
- 動(dòng)態(tài)分區(qū)流量極不均勻,keyby數(shù)據(jù)傾斜,不keyby小文件多
- 小文件多 1.distcp延遲 2. 下游讀取效率差
Evenpartionshuffle
- 引入shuffle
- 流量動(dòng)態(tài)變化
日志數(shù)據(jù)入湖
- 異步:下游ETL任務(wù)已觸發(fā)
- 跨云讀寫(xiě),OI&OOM風(fēng)險(xiǎn)