#bigdata/paimon
1、快照的理解,每次提交都会形成一个新的快照数据,默认保存1小时,而超过1h后则不能timeTravel了
在 Paimon 中,每次提交或数据写入操作都会生成一个新的快照,保留数据在时间点的状态,以便进行版本控制和数据回溯(time travel)。这些快照的默认保留时间通常是 1 小时,具体取决于 Paimon 的配置选项 snapshot.time-retained
。
在超过默认的 1 小时快照保留时间后,这些快照会被清理,以节省存储空间。因此,一旦这些快照被删除或回收,就无法再使用 time travel 功能访问这些已删除快照对应的历史数据。
如果你需要延长快照保留时间以支持更长时间的 time travel,可以调整 snapshot.time-retained
配置参数。例如:
snapshot.time-retained=24h
这会将快照的保留时间设置为 24 小时,允许在更长时间内进行数据回溯。
注意,如果你希望长期保存快照用于审计或其他目的,则需要根据需求增加保留时间或定期将数据备份到外部存储。
2、paimon 并不适合长时间多版本数据保留的场景
-
快照保留策略:
- Paimon 的快照数据默认具有保留期限(如
snapshot.time-retained
参数通常默认是 1 小时)。在超过这个保留时间后,旧快照会被清理以释放存储空间。这意味着 Paimon 更适合需要短期版本控制和数据回溯的场景,而不是长期的版本存储。
- Paimon 的快照数据默认具有保留期限(如
-
存储空间管理:
- 如果 Paimon 被配置为长时间保留多个版本的数据,会导致存储空间快速增长,增加存储成本。对于高频数据更新和插入的场景,快照的积累速度可能会很快使存储膨胀,影响系统的性能和资源管理。
-
版本管理复杂性:
- 在需要频繁进行数据合并、清理和压缩的环境中,长期保留多版本数据会导致数据管理复杂化。维护这些旧版本会增加后台作业的负担,例如合并和快照清理任务,可能会对系统性能造成影响。
-
典型使用场景:
- Paimon 更适合实时数据湖场景,支持实时数据写入和短期数据版本控制,这对数据审计、故障恢复等用途足够。但对于需要长期保存历史数据的场景,例如需要保留数月或数年的多版本数据,通常建议使用其他系统,如 Hudi、Iceberg 或者数据仓库解决方案。