原子性要求事务要么全部完成,要么不执行,确保数据一致性。事务回滚在事务执行过程中发生中断时,将已执行的操作撤销。回滚时,需记录操作信息,如插入记录需保存ID,回滚时删除;删除记录保留内容,回滚时插入;修改记录保存旧值,回滚时写入。撤销操作记录为“undo日志”。事务ID用于追踪特定表操作的唯一标识。聚族索引记录包括事务ID与undo日志引用,形成“版本链”。undo日志以序列化方式存储,每条记录包含唯一undo编号,直至事务提交。删除操作形成垃圾链表,事务未提交前处于特殊状态。在删除前,需记录事务ID与undo日志引用,用于回滚。undo日志存储在特定页面中,每个事务对应多个undo日志链表。每个事务提交后,update类型的undo日志不能立即删除,用于维护MVCC。“回滚段”管理undo页面链表,系统在同一时间存在多个undo页面。每个undo页面链表有固定槽位,记录事务状态,控制undo日志的使用。若事务数量过多,占用所有undo槽位,系统出现瓶颈。系统重启时,通过回滚段恢复未完成事务,保证原子性。undo日志的刷盘时机与redo日志类似,确保数据持久性。undo日志在事务提交后,根据类型(insert或update)决定是否立即删除。