Surprise with innodb_doublewrite_pages in MySQL 8.0.20+
percona.com·1d
Flag this post

In a recent post, The Quirks of Index Maintenance in Open Source Databases, I compared the IO load generated by open source databases while inserting rows in a table with many secondary indexes. Because of its change buffer, InnoDB was the most efficient solution. However, that’s not the end of the story.

Evolution of the InnoDB doublewrite buffer

Up until a few years ago, the InnoDB doublewrite buffer was a bottleneck under high write load. Essentially, the doublewrite buffer is a file used to prevent torn pages. InnoDB uses 16KB pages, which can easily be partially written (torn) in case of a crash (Example: The storage device uses 4KB blocks. This requires 4 IO to write a page. If a crash occurs after 2 IO, then a co…

Similar Posts

Loading similar posts...