InnoDB可能出现部分失效的问题(比如缓冲池往磁盘刷新脏页时写了部分就宕机了)。一般是通过redo log来恢复,但是redo log记录的是对页的物理操作记录,而不是最新页的数据记录,如果页本身发生损坏了,redo log没用

double write就是在写之前存一个页的副本,doublewrite由两部分组成:

  • 内存中的double write buffer,2MB
  • 磁盘共享表空间连续的128个页,大小2MB
    在对缓冲池的脏页进行刷新时,不直接写磁盘,先通过memcpy把脏页复制到double write buffer,再分两次,每次1MB顺序地写入共享表空间的物理磁盘,然后调用fsync函数同步磁盘,避免缓冲写带来的问题
    InnoDB的几个关键特性-Double Write(两次写)

相关文章:

  • 2021-10-19
  • 2022-02-10
  • 2022-01-18
  • 2021-11-24
  • 2021-07-08
  • 2022-12-23
  • 2021-07-27
猜你喜欢
  • 2022-01-27
  • 2021-09-25
  • 2021-12-03
  • 2021-05-11
  • 2021-07-12
相关资源
相似解决方案