Paimon(数据湖框架)概述


一、数据湖

数据湖就是:一种能够满足海量存储和海量分析的系统架构方案(不是数据库,也不是技术架构,是一种概念、一种方案和思路)

其中HDFS实现了海量数据存储,Spark、MR、Flink等实现了海量数据分析

所以说,Hadoop生态本质上就是数据湖最合适的实现方案

二、什么是Paimon

Paimon是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力

Paimon本质上还是使用Spark以及Flink计算引擎处理数据,处理流程也不变,变化的地方在于,Paimon提供丰富的 API 用于数据存储和管理,包括Flink API、Spark API、Java API;也就是说在存储数据的过程加入了Paimon(也就是使用Paimon提供的API进行数据存储)

三、Paimon中的数据存储格式

  • Paimon 使用列式存储格式(如Avro、Parquet 或 ORC)来存储数据,同时支持高效的压缩和索引机制。
  • 数据存储在分布式文件系统(如 HDFS、S3)或对象存储中。

四、Paimon的核心特性

  • 流批一体:支持实时和批量数据写入,并共享同一个存储层
  • 事务控制:提供原子性、一致性、隔离性和持久性,确保数据可靠性。
  • 高效查询:支持索引和列式存储(Parquet 或 ORC)
  • 数据版本管理:支持数据快照,方便数据回溯
  • 多引擎支持:支持Flink和Spark、兼容Hive和Presto
  • 数据压缩和存储优化:高效压缩和小文件合并

五、Paimon的大规模实时更新

Paimon的大规模实时更新得益于LSM数据结构的追加能力
Paimon创新结合了湖存储 + LSM + 列式格式 (ORC, Parquet),为湖存储带来大规模实时更新能力

六、LSM数据结构的核心思想

LSM 的核心思想是将随机写转换为顺序写,利用磁盘顺序写的高效性提升性能。它通过以下机制实现:

  1. MemTable:数据首先写入内存中的 MemTable,通常是一个有序数据结构(如跳表或平衡树),支持快速插入和查找。
  2. WAL(Write-Ahead Log):为防止数据丢失,写入 MemTable 前会先记录到 WAL,确保系统崩溃时数据可恢复。
  3. Immutable MemTable:当 MemTable 达到一定大小,会变为只读的 Immutable MemTable,并开始写入新的 MemTable。
  4. SSTable(Sorted String Table):Immutable MemTable 会被刷写到磁盘,形成 SSTable 文件,文件内部数据有序,便于后续查找和合并。
  5. Compaction:随着 SSTable 文件增多,系统会定期合并和压缩这些文件,删除重复和过期数据,减少文件数量和查找开销。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzhlizihang

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值