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...

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help