送金トランザクション
begin
read(A,x)
read(B,y)
x:=x-10000
y:=y+10000
write(A,x)
write(B,y)
commit
項A,Bはバッファ上で更新済
ディスク上は未更新
トランザクションは未コミット
(アボートでもない)
システムを再起動
バッファは消滅
データベースはトランザクション実行前の状態
整合性は保証されている
送金トランザクションを最初から実行すればよい