元数据
Delta Lake 的核心是一套严格按时间顺序排列的 事务日志(_delta_log/),用于记录表的每一次变更。
事务日志 (Transaction Log) :每一次对表的写入、更新或删除,都会生成一个新的 JSON 文件 ,清晰地记录了本次操作 增加 了哪些文件,删除 了哪些文件。
检查点文件 (Checkpoint) :当事务日志积累过多时,Delta Lake 会将之前的状态合并成一个 检查点文件 ,在查询时就不需要从头读取所有日志,只需从最近的 检查点 开始读取即可。
更新数据
复制写入 :读取旧文件,在内存中修改后,写入一个新文件 ,然后在 /_delta_log 中记录日志。
删除向量 :不重写文件,而是在 /_delta_log 日志记录里附加 删除向量 信息,用于标记文件内部的某些行已失效。
查询数据
引擎先找到最近的 检查点,然后依次应用后续的每一个事务日志,就能快速构建出表的最终准确状态。