Geri alma günlüğü (undo log)
MySQL/InnoDB’nin önceki değerleri tuttuğu günlük; iki işe yarar: bir işlemi geri almak ve MVCC için eski satır sürümlerini yeniden kurup okumaların tutarlı bir anlık görüntü görmesini sağlamak.
İşleyiş: bir satır değişmeden önce eski değeri undo günlüğüne kaydedilir. İki kullanım: (1) geri alma — işlem iptal edilirse satırlar undo verisinden eski haline getirilir; (2) MVCC — eski bir durumu görmesi gereken okuyucu işlem, anlık görüntüsünü kurmak için undo zincirinde “geriye yürür”, yazıcıları engellemez. Eski undo verisini, hiçbir işlem artık ihtiyaç duymadığında arka plandaki “purge” temizler. Tuzak: uzun süren bir işlem eski sürümleri tutar → undo günlüğü şişer (“history list length” büyür), Postgres’teki bloat sorununa benzer. Redo günlüğünden (ileri yönlü kurtarma) farklıdır; undo geriye, eski değerlere bakar.