ScholarGate
Asistan

Kurtarma ve Günlükleme

Kurtarma ve günlükleme mekanizmaları, bir çökme sonrasında onaylanmış işlemlerin yeniden yapılabilmesini ve onaylanmamış işlemlerin geri alınabilmesini sağlamak amacıyla değişiklikleri bir günlükte kaydederek işlemlerin atomikliğini ve kalıcılığını garanti eder.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Veritabanı kurtarma, bir hata sonrasında veritabanını tutarlı bir duruma geri getirme sürecidir; bu süreç, onaylanmış işlemlerin etkilerinin kalıcı olmasını ve iptal edilmiş veya devam eden işlemlerin iz bırakmamasını sağlar. Günlükleme ise, bunu mümkün kılmak için işlem eylemlerini kalıcı bir günlüğe kaydetme tekniğidir.

Kapsam

Bu konu, bir veritabanının hatalardan nasıl kurtulduğunu ele almaktadır: ileri günlükleme (WAL) protokolü, geri alma (undo) ve yineleme (redo) bilgileri, kurtarma işini sınırlamak için kontrol noktaları (checkpoints) ve analiz, yineleme ve geri alma geçişleriyle standart kurtarma algoritması (özellikle ARIES). Hangi günlüklemenin gerekli olduğunu belirleyen arabellek yönetimi politikalarını (çalma/çalmasız, zorlama/zorlamasız) incelemektedir. Normal çalışma sırasında çalışan eşzamanlılık kontrol protokolleri ve dağıtılmış onaylama (distributed commit) bu konunun kapsamı dışındadır.

Temel sorular

  • Günlük kaydı, tanımladığı veriden önce neden kalıcı depolamaya ulaşmalıdır (ileri günlükleme)?
  • Geri alma (undo) ve yineleme (redo), bir çökme sonrasında tutarlı bir durumu nasıl geri yükler?
  • Arabellek yönetimi politikaları (çalma/zorlama), günlükleme gereksinimlerini nasıl belirler?
  • Kontrol noktaları (checkpoints), kurtarma süresini sınırlamada hangi rolü oynar?
  • ARIES algoritması, kurtarmayı analiz, yineleme ve geri alma olarak nasıl yapılandırır?

Anahtar kavramlar

  • ileri günlükleme (WAL)
  • geri alma (undo) ve yineleme (redo) günlüklemesi
  • günlük sıra numarası
  • kontrol noktaları (checkpoints)
  • çalma/çalmasız ve zorlama/zorlamasız politikalar
  • telafi günlük kayıtları
  • analiz, yineleme, geri alma geçişleri
  • ARIES

Temel kuramlar

İleri günlükleme
WAL protokolü, bir değişikliği açıklayan günlük kayıtlarının, ilgili veri sayfasından önce kararlı depolamaya zorlanmasını gerektirir; bu, bir çökme sonrasında sistemin onaylanmamış değişiklikleri geri almak ve onaylanmış değişiklikleri yinelemek için yeterli bilgiye sahip olmasını sağlar.
Geri alma/yineleme kurtarma ve arabellek politikaları
Sistemin geri alma, yineleme veya her ikisine birden ihtiyaç duyup duymadığı arabellek politikalarına bağlıdır: çalma politikası (onaylanmamış sayfaları diske yazma) geri alma gerektirir ve zorlamasız politikası (onaylanmış sayfaları onaylama anında zorlamama) yineleme gerektirir; yaygın çalma/zorlamasız kombinasyonu her ikisini de gerektirir.
ARIES
ARIES, ileri günlükleme, günlük sıra numaraları ve ince taneli kilitlemeyi ve kısmi geri almaları desteklemek için telafi günlük kayıtları ile üç geçişli (analiz, yineleme, geri alma) bir algoritma kullanan yaygın olarak benimsenmiş bir kurtarma yöntemidir.

Klinik önem

Kurtarma ve günlükleme, kalıcılığı gerçeğe dönüştüren unsurlardır: bir sistem bir ödeme veya sipariş gibi bir işlemi onayladığında, bu gerçeğin elektrik kesintilerinden ve çökmelerden sağ çıkmasını ve işlem ortasında meydana gelen bir çökmenin veritabanını asla yarı güncellenmiş, tutarsız bir durumda bırakmamasını sağlarlar.

Tarihçe

Härder ve Reuter'in 1983 tarihli araştırması, işlem odaklı kurtarma ilkelerini ve arabellek politikası taksonomisini ortaya koymuştur. IBM'de C. Mohan ve meslektaşları tarafından geliştirilen ve 1992'de yayımlanan ARIES, ileri günlüklemeyi günlük sıra numaraları ve telafi kayıtlarıyla birleştirerek ince taneli kilitlemeyi destekleyen fiili standart kurtarma algoritması haline gelmiştir.

Öne çıkan isimler

  • C. Mohan
  • Jim Gray
  • Theo Härder
  • Andreas Reuter

İlgili konular

Temel eserler

  • mohan1992
  • haerder1983
  • gray1992

Sıkça sorulan sorular

İleri günlükleme neden gereklidir?
Çünkü veritabanı, işlem onaylanmadan önce değiştirilmiş bir sayfayı diske yazabilir veya çökme anında onaylanmış bir sayfayı bellekte tutabilir. Günlük kaydını veri sayfasından önce zorlamak, arabellek yöneticisi ne yaparsa yapsın, kurtarmanın tutarlı bir duruma ulaşmak için onaylanmamış değişiklikleri geri almak ve onaylanmış olanları yinelemek için yeterli bilgiye sahip olmasını garanti eder.
Kontrol noktaları ne işe yarar?
Bir kontrol noktası, periyodik olarak hangi işlemlerin aktif olduğunu kaydeder ve defter tutma bilgilerini günlüğe boşaltır, böylece kurtarmaya yakın zamanda bilinen iyi bir başlangıç noktası sağlar. Kontrol noktaları olmasaydı, kurtarma tüm günlüğü baştan taramak zorunda kalabilirdi; kontrol noktaları, kurtarmanın ne kadar geriye dönük işlem yapması gerektiğini sınırlar ve yeniden başlatma süresini yönetilebilir kılar.

Bu kavram için yöntemler

İlgili kavramlar