Doris 的 Replay Log 机制用于保证元数据的持久性和一致性。以下是 Replay Log 的详细解释:

  1. Log 记录:
  • 当元数据发生变更时(如创建数据库、表、分区等),Leader FE 会将这些变更操作记录到日志文件中。
  • 这些日志文件通常存储在磁盘上,以防止数据丢失。
  1. Log 同步:
  • Leader FE 会将这些日志同步到所有的 Follower FE 和 Observer FE 节点。
  • 通过这种方式,所有的 FE 节点都能保持一致的元数据视图。
  1. Log Replay:
  • 当一个 FE 节点启动时,它会从日志文件中读取并重放(replay)所有的变更操作,以恢复到最新的元数据状态。
  • 这种机制确保了即使在系统崩溃或重启后,元数据也能被正确恢复。
  1. Log 结构:
  • 日志文件通常按顺序记录每个变更操作,每个操作都有一个唯一的序列号(sequence number)。
  • 日志文件的结构通常包括操作类型、操作内容、时间戳等信息。
  1. Log 清理:
  • 为了防止日志文件无限增长,Doris 会定期进行日志清理(log compaction)。
  • 日志清理会将已经应用到元数据中的日志条目删除,只保留最新的变更操作。

通过 Replay Log 机制,Doris 能够保证元数据的高可用性和一致性,即使在系统故障或重启的情况下,也能快速恢复到最新状态。