Compaction in Apache Iceberg

压缩,可以将多个小文件合并为大文件提高读性能,几种压缩策略:binpack(简单合并)、sort、z-order(适合多列查询),Expire Snapshots 可以删除过期的数据文件,还提供了参数可以自动删除manifest 文件、保留多少manifest文件,以及清除orphan 文件

阅读全文

The Life of a Read/Write Query for Apache Iceberg Tables

介绍了存储的结构,元数据层包括:manifest files、manifest list, metadata files,catalog指向最新的 metadata files;每一层都可以做裁减,包括数据层,介绍了读取、time travel过程,是自上往下的读取和裁减过程;写入过程:插入、删除、merge过程,写 过程是自下而上的,通过 切换catalog指向,利用OCC控制并发,实现ACID

阅读全文

Analyzing and Comparing Lakehouse Storage Systems

讨论了 LakeHouse 系统设计的难点,在不可变高延迟的对象存储之上,增加事务特性,三大系统都使用了OCC做隔离,事务实现都用了MVCC,源数据库管理delta和hudi用了表格式,iceberg用了层次存储(单节点处理),数据更新三者都支持CoW(适合读多写少场景),hudi和iceberg支持MoR(适合写多的场景)

阅读全文