Other transaction techniques Group commit Write-ahead logging Keep undo log separate, garbage collect it sooner Message logging! (Big omission in system R) Keep locks after commit (or downgrade to shared) Two-phase commit How to use disks to get better throughput? How might you implement truly atomic rename?