Apache Paimon系列之:认识Paimon

Apache Paimon系列之:认识Paimon

一、认识Paimon

Apache Paimon的架构:

如上架构所示:

读/写:Paimon 支持多种读/写数据和执行 OLAP 查询的方式。

  • 对于读取,它支持消费数据
    • 从历史快照(批处理模式),
    • 从最新的偏移量(在流模式下),或
    • 以混合方式读取增量快照。
  • 对于写入,它支持
    • 来自数据库变更日志的流同步(CDC)
    • 从离线数据批量插入/覆盖。

生态系统:除了Apache Flink之外,Paimon还支持Apache Hive、Apache Spark、Trino等其他计算引擎的读取。

内部的:

  • 在底层,Paimon 将列式文件存储在文件系统/对象存储上
  • 文件的元数据保存在manifest文件中,提供大规模存储和数据跳过。
  • 对于主键表,采用LSM树结构,支持大数据量更新和高性能查询。

二、统一存储

对于 Apache Flink 这样的流引擎,通常有三种类型的连接器:

  • 消息队列,例如 Apache Kafka,在该管道的源阶段和中间阶段都使用它,以保证延迟保持在秒级。
  • OLAP系统,例如ClickHouse,它以流方式接收处理后的数据并服务用户的即席查询。
  • 批量存储,例如Apache Hive,它支持传统批处理的各种操作,包括INSERT OVERWRITE。

Paimon 提供表抽象。它的使用方式与传统数据库没有什么区别:

  • 在批处理执行模式下,它就像一个Hive表,支持Batch SQL的各种操作。查询它以查看最新的快照。
  • 在流执行模式下,它的作用就像一个消息队列。查询它的行为就像从历史数据永不过期的消息队列中查询流更改日志。

三、基本概念

1.文件布局

一张表的所有文件都存储在一个基本目录下。 Paimon 文件以分层方式组织。下图说明了文件布局。从快照文件开始,Paimon 读者可以递归地访问表中的所有记录。

2.Snapshot

所有快照文件都存储在快照目录中。

快照文件是一个 JSON 文件,包含有关此快照的信息,包括

  • 正在使用的模式文件
  • 包含此快照的所有更改的清单列表

快照捕获表在某个时间点的状态。用户可以通过最新的快照来访问表的最新数据。通过时间旅行,用户还可以通过较早的快照访问表的先前状态。

3.清单文件

所有清单列表和清单文件都存储在清单目录中。

清单列表是清单文件名的列表。

清单文件是包含有关 LSM 数据文件和更改日志文件的更改的文件。例如对应快照中创建了哪个LSM数据文件、删除了哪个文件。

4.数据文件

数据文件按分区分组。目前,Paimon 支持使用 orc(默认)、parquet 和 avro 作为数据文件格式。

5.分区

  • Paimon 采用与 Apache Hive 相同的分区概念来分离数据。
  • 分区是一种可选方法,可根据日期、城市和部门等特定列的值将表划分为相关部分。每个表可以有一个或多个分区键来标识特定分区。
  • 通过分区,用户可以高效地操作表中的一片记录。

6.一致性保证

Paimon 编写器使用两阶段提交协议以原子方式将一批记录提交到表中。每次提交在提交时最多生成两个快照。

对于任意两个同时修改表的写入者,只要他们不修改同一分区,他们的提交就可以并行发生。如果他们修改同一分区,则仅保证快照隔离。也就是说,最终表状态可能是两次提交的混合,但不会丢失任何更改。

相关推荐
zhangkaixuan4564 分钟前
Apache Paimon 查询全流程深度分析
java·apache·paimon
A-刘晨阳18 小时前
时序数据库选型指南:从大数据视角切入,聚焦 Apache IoTDB
大数据·apache·时序数据库·iotdb
迦蓝叶19 小时前
使用 Apache Jena 构建 Java 知识图谱
java·apache·知识图谱·图搜索·关系查询·关系推理
zhangkaixuan4561 天前
Apache Paimon 写入流程
java·大数据·apache·paimon
DolphinScheduler社区2 天前
Apache DolphinScheduler 3.3.2 正式发布!性能与稳定性有重要更新
大数据·开源·apache·任务调度·海豚调度·发版
SeaTunnel2 天前
Apache SeaTunnel 支持 Metalake 开发了!避免任务配置敏感信息暴露
大数据·开源·apache·个人开发·数据集成·seatunnel·看开源之夏
Mr_Art892 天前
金融行业湖仓实践:Apache Paimon 小文件治理之道
数据仓库·金融·apache
uuukashiro2 天前
数据湖优化新纪元:Apache Iceberg性能提升全攻略与腾讯云DLC实战
ai·云计算·apache·腾讯云
任风雨3 天前
13.2.1.Apache HTTP Server
http·apache·web服务器
睿本云4 天前
产品月报|睿本云10月产品功能迭代
运维·服务器·apache