Redo Log
本质是一种write ahead log策略。事务提交时,先写redo log再修改页;当由于发生宕机而导致数据丢失时,就可以通过redo log来完成数据的恢复。
例如:InnoDB首先将redo log的内容先放到redo log buffer。然后,按一定频率刷新到redo log file。
commit的时候,redo log刷盘的形式有三种:
- 表示当提交事务时,并不将事务的重做日志写入磁盘上日志文件,而是等待主线程每秒刷新。
- 表示在执行commit时将重做日志缓冲同步写到磁盘,即伴有fsync的调用
- 表示将重做日志异步写到磁盘,即fflush写到文件系统的缓存中。不保证commit时肯定会写入重做日志文件。
Check Point 检查点
用于记录sql server的redo log刷盘的序列号,用于下次刷盘的开始处标记