Sobes.tech
Junior — Middle

Veritabanı, kesintiye uğramış bir işlemi geri yüklemek için WAL günlüğünü nasıl kullanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

WAL (Write-Ahead Logging) veritabanlarında kullanılan bir günlükleme mekanizmasıdır ve arızalardan sonra verilerin güvenilir bir şekilde kurtarılmasını sağlar.

Bir işlem verileri değiştirdiğinde, değişiklikler önce WAL günlüğüne disk üzerinde kaydedilir ve ardından ana veritabanına uygulanır. Sistem kesintiye uğrarsa (örneğin, güç kesintisi nedeniyle), kurtarma sırasında veritabanı WAL günlüğünü okur ve işlemde olan işlemleri tekrarlar (redo) veya iptal eder (undo), böylece verileri tutarlı bir duruma getirir.

Bu şekilde, WAL şunlara olanak tanır:

  • İşlemlerin atomikliğini garanti eder.
  • Sadece günlükteki değişiklikleri uygulayarak arızalardan sonra hızlıca kurtarılır.

Yaklaşık kurtarma süreci:

  1. Başlatıldığında, veritabanı WAL günlüğünü okur.
  2. Tamamlanan tüm işlemleri uygular.
  3. Tamamlanmamış işlemleri geri alır.
  4. Bundan sonra, veritabanı tutarlı verilerle çalışmaya hazırdır.