1、查询
2、更新
redo log 崩溃恢复,持久性
1、innodb
2、物理日志
3、48m 固定
undo log 回滚撤销,原子性
顺序io
binlog DDL DML逻辑的日志
1、主从
2、数据恢复
操作数据的时候,会先写到内存的buffer pool 里面,同时记录redo log,如果在刷盘之前出现异常,在重启后就可以读取redo log 的内容,写入到磁盘,保证数据的持久性
当然,恢复成功的前提是数据页本身没有被破坏,是完整的,这个通过双写缓冲(double write)保证。
尽管需要写入两次数据,但是写缓冲区不需要两次的 io开销或操作,因为只需要调用一次操作系统的fsync() 就可以将批量数据顺序写入磁盘 -> 系统表空间的Double Write Buffer