IT用語集 › データベース › ダブルライトバッファ

ダブルライトバッファ

データベース Svenska → 更新: 2026-10-22

MySQL/InnoDB の仕組みで、停電時にページが途中までしか書かれない「トーンページ」から守る。ページをまずバッファに書き、それから本来の位置に書くことで、必ずどちらかに完全な写しが残る。

データベースのページ(16 KB)は、ディスクが原子的な書き込みを保証する単位(多くは4 KBセクタ)より大きい。書き込み中に電源が落ちると、半端に書かれた壊れたページが残り、REDO ログでは直せない(REDO は整合したページが出発点であることを前提とするため)。

そこで InnoDB は、ページをまずダブルライトバッファに順次書き、その後で実際の位置に書く。クラッシュ時には、バッファに残った無傷の写しから壊れたページを復元できる。代償は、すべてのページを二度書くことによる余分な I/O である。原子的書き込みができるファイルシステムやディスク(一部の SSD、ZFS)では無効にできる。PostgreSQL は同じ問題を WAL の full page writes で解決している。

← 用語集に戻る