Delta Lake/Hudi/Iceberg 三大数据湖方案深度对比

·  阅读 886

image.png

image.png

image.png

如何学习新技术?

博客文章

  • 碎片时间
  • 非系统性

视频

  • 覆盖面全

书籍

  • 需要反复复习和看
  • 缺乏提炼

官方文档(建议)

  • 内容新
  • 太琐碎 不系统 但是内容全

技术会议

  • 技术前沿
    • 公司使用的技术 别人踩过的坑
  • 入门高
    • 不适合刚入门 不是很基础的东西

论文

  • 精华提炼
    • 可以快速的看到技术的精华
  • 难以阅读
    • 开始难一点 多读一些 慢慢找感觉 后面会越来越快
    • 即使很老的论文 也会有帮助

源码

  • 细节为王
    • 代码可以看到所有的东西
  • 看代码的时候无从下手

培训课程

  • 精心设计,事半功倍
  • 自由度低,价格较高
    • 需要在固定的时间上课

怎么看论文

工具推荐

image.png

看概述

  • 递进式介绍
  • 根据自己的了解程度
    • 不要过多的展开 例如文献 先不要看
  • 快速式阅读
  • 大量参考文献
  • 不宜展开太深
  • 找出核心问题
  • 提出解决方案

概述研究背景和论文核心内容

• 问题的提出 - 保证原子的写操作 - update

日志先行 + transaction log + 乐观锁 找出存储对象 进行替换

• 研究背景和意义 • 研究方法 • 论文结构安排

核心的内容和实现的方式

结论和展望

总结论文的创新点 对该领域今后的发展研究内容进行预测

湖仓一体 image.png

什么是Data Lake,Lakehouse?

  1. Scalable Transactional metadata layer

    • ACID
    • Versioning 通过transaction log实现版本控制
  2. Provide efficient up-to-date data

    • better streaming data/mini batch support
    • update/delete
  3. Achieve good SQL performance

    • cache hot data on SSD with lightweight format
    • maintaining statistics
    • build efficient accessing method like index
    • data layout optimization
      • 索引加速

Delta Lake、Hudi、Iceberg技术对比

深度对比三大开源数据湖方案 mp.weixin.qq.com/s?__biz=MzA… 5430&idx=1&sn=f6b93512f75c0866c83cba526016f9c9&chk sm=82c2926fb5b51b79228c1148aff3e0828745c87587a298f0f13e41554 e6213240bce005d8ae9#rd

Iceberg

  1. Snapshot(快照)
    • 一张表在某一个时刻的状态
  2. Manifest File/Manifest List(清单)
    • 组成快照的数据文件子集的元数据文件 • 文件路径
    • Lower and upper bounds of columns • 文件级别:行数和大小统计信息
    • 列级别:值的个数和null的个数
  3. 数据文件
    • parquet/avro/orc

image.png

ACID和隔离级别支持 image.png

Serialization: 所有的reader和writer都必须串行执行; Write Serialization: 是说多个writer必须严格串行,reader和writer之间则可以同时跑; Snapshot Isolation: 是说如果多个writer写的数据无交集,则可以并发执行;否则只 能串行。Reader和writer可以同时跑。

image.png

  • Filter Pushdown:谓词下推
  • Low meta cost:元数据管理依赖
  • Indexing:索引,数据skipping CopyOnWrite和MergeOnRead:数据存储类型
  • Auto-Compaction:小文件优化

copy on write 每次操作数据的时候 都会复制一份

  • 读很快
  • 写很慢

MergeOnRead-每次只写一个增量数据

  • 读的很慢 每次都要做merge
  • 些很快

怎么学习大数据技术

一核两脉

核心 侧重 Spark

  • 透析SparkCore+SparkSQL的设计逻辑
  • 老师多年深入魔改Spark内核的经验
  • 带你串起分布式体系结构和数据库的技术本质

脉络一:系统性学习

  • 从SQL原理出发,讲清楚数据仓库的来龙去脉,拓展数据湖技术,研究湖仓一体架构的方向。
    • SQL加速
    • 编译执行计划
  • 结合多种主流大数据框架,从细节中抽丝剥茧,以深度见长的方式总结关键技术和学习的重点。

脉络二:共性学习

  • 着重从计算引擎角度梳理知识体系,结合各种SQL引擎,提取共性来学习,真正做到触类旁通。
分类:
后端
标签:
分类:
后端
标签: