InnoDB学习笔记(4)Double write

mysql 为何需要Double Write

Double Write的思路很简单:

  1. 在覆盖磁盘上的数据前,先将Page的内容写入到磁盘上的其他地方(InnoDB存储引擎中的doublewrite buffer,这里的buffer不是内存空间,是磁盘上的空间).

  2. 然后再将Page的内容覆盖到磁盘上原来的数据。

如果在1步骤时系统故障,原来的数据没有被覆盖,还是完整的。

如果在2步骤时系统故障,原来的数据不完整了,但是新数据已经被完整的写入了doublewrite buffer。 因此系统恢复时就可以用doublewrite buffer中的新Page来覆盖这个不完整的page。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容