Slide 6
Slide 6 text
6
書き込みの失敗ってどういうこと?
• 多くのRDBMSでは先行ログ書込み、その後のCheckpoint時のデータ書き出し
(キャッシュ⇒ディスク)で、永続化を行っている。
• つまり、Checkpoint時に低レイヤで障害が発生し、それにDBMSが気付かない
で進んでしまった際にデータは壊れる。
共有バッファ
メモリ
ディスク
テーブル
ファイル
WAL
WALバッファ
commit時等に
シーケンシャルWrite
checkpoint時等に
ランダムWrite
(書き込み時に壊れるケース)
• デバイスが書込み応答したけど、
電源断で書けてなかった。
• カーネルが完了の応答したけど、
バグで書けてなかった。
• postgresが書込みエラーをハ
ンドリング出来てなかった。
※澤田さんblogのケース
(ほっといて壊れるケース)
• セクタやビットの障害。
• 劣化とか宇宙線とか。