【笔记】Apache Iceberg 原理介绍 | 阿里云 x StarRocks社区联合Meetup

【笔记】Apache Iceberg 原理介绍 | 阿里云 x StarRocks社区联合Meetup

0. 前言

Iceberg是为了解决Hive上云诞生的一个工具。
原理是一种用于跟踪超大规模表的新格式,是专门为对象存储(如 S3)而设计的。
核心思想:在时间轴上跟踪表的所有变化。

强烈推荐看下这篇学习日志,看下iceberg如何读写,实际如何使用?同时,了解下Hive的架构

  • Apache Iceberg 学习日志 https://xie.infoq.cn/article/61a82b983ef97c3e05a6e7d82
    在这里插入图片描述

  • Hive架构,Metadata-store是什么? 存储了哪些信息? 有什么优化点?
    在这里插入图片描述

1 Hive挑战

  1. 上云
    • HMS依赖Mysql,Mysql做分布式不方便;
    • HMS抽象不清晰,Schema/表统计信息/分区信息等边界不清晰;
    • 读 读mysql获取分区信息,再跨shard去list,成本太高 (LIST指令成本高,GET成本低)
    • 写 ?这块没太听懂,GET不到点
    • 要求1.支持多种存储格式(弹性低廉稳定) 2. 统一Table语义(支持对象存储) 3. 计算引擎互通
  2. 近实时数仓
    • 入仓,无法接受分钟级,对HMS是一种压力
    • 出仓,不支持增量数据查询
    • 要求: 1.分钟级别入仓 2. 更高效索引加速数据分析,查询响应要快 3. 增量出湖出仓,下游ETL响应更快
  3. 变更
    • 字段变更对读端影响
    • 分区字段变更: 月粒度转日粒度,hive是把数据重新insert一遍
    • 要求:1. schema变更 2. 分区变更 3. 数据变更
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. Iceberg的解决方案

  1. 挑战1: 上云
    • 数据访问不用list,都是get;扩展性 (? 对象存储,不是HMS那种mysql)
    • ACID不依赖RENAME (我理解RENAME就是先把数据写到一个临时区域,写入完成再将数据置位有效,这个置位有效的过程就是RENAME) 另外,这个锁服务很解耦,可以放到适配任何一个锁服务
  2. 挑战2: 近实时数仓
    • 去中心化 可拓展的metadata (托管给一个分布式系统)
    • 丰富的metadata-index的加速 (用的get 不是list)
    • 增量出入湖 (通过新的metadata去获取增量部分)
  3. 挑战3: 变更
    • 快速实现Schema变更(多版本变更,1s完成,它也提供了完成ACID语义,可以优雅变更,用户永远看到的一致的结果)
    • 轻量级分区变更(老的不变,新的用新的分区)
    • V2支持Merge-On-Read方法更新数据(读的时候进行一个处理,写入性能高,读受些影响. 学习资料https://blog.csdn.net/wuleidaren/article/details/114037442)
Row-Level Delete 是指根据一个条件从一个数据集里面删除指定行。它实现方式可以分为Copy on Write模式和Merge on Read模式,其中Copy on Write模式可以保证下游的数据读具有最大的性能,而Merge on Read模式保证上游数据插入、更新、和删除的性能,减少传统Copy on Write模式下写放大问题。本次我们只讨论基于 Merge on Read 模式的实现方式。

sequence number 的生成是与 snapshot 强相关的,可以这样理解,在每次生成新的 snapshot 时(即每一次 commit success 时),会为本次新生成的 data-file 、delete-file 以及对应的 manifest 分配一个递增的序列号。
————————————————
版权声明:本文为CSDN博主「corleone_lw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wuleidaren/article/details/114037442

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值