redolog 和undolog是事务日志
undolog实现事物的原子性;binlog记录的是sql执行的相关信息比如insert操作等;
redolog实现持久性
innodb提供一个buffer作为访问数据库的缓冲,数据库读数据先从buffer中取,数据库定期从buffer中把数据刷新到按数据库,但服务器宕机会导致buffer数据丢失,持久性无法保证,所以有了redolog。数据库的修改先写到redolog里面,再写到buffer里面。
为什么写入redolog要快?
1是因为redolog是尾部追加模式,顺序io的操作,而buffer持久化的话,磁盘位置不确定 。
2一个数据的修改需要把整个数据页写入,而redolog只需要写要修改的数据即可,大大减少了无效io
有一个redolog缓冲区