İlişkisel veritabanları bağlamında kurtarma, bir arıza, çökme veya bozulma nedeniyle kaybedilen veya hasar gören verileri yeniden oluşturarak bir veritabanını tutarlı bir duruma geri yükleme sürecini ifade eder. Bu süreç, taahhüt edilen işlemlerin kalıcı olmasını ve başarısız veya taahhüt edilmemiş işlemlerin etkilerinin geçersiz kılınmasını sağlayarak bir veritabanı sisteminin bütünlüğünü, tutarlılığını ve güvenilirliğini korumayı amaçlar. Veri tabanı sistemleri, AppMaster no-code platformu kullanılarak oluşturulan ve dağıtılanlar da dahil olmak üzere birçok yazılım uygulamasının önemli bileşenleri olduğundan, etkili bir kurtarma stratejisinin önemi abartılamaz.
Veritabanı kurtarma genellikle iki temel kavrama dayanır: Yazma Öncesi Günlüğe Kaydetme (WAL) ve denetim noktası oluşturma. Yazma Öncesi Günlüğü, veritabanına herhangi bir değişiklik uygulanmadan önce değişikliğin ilk olarak bir günlük girişi biçiminde kaydedilmesi gerektiğini belirten bir protokoldür. Bu günlük girişi, etkilenen verilerin orijinal değeri ve değiştirilen değeri de dahil olmak üzere, değişikliğe neden olan işlem hakkındaki bilgileri yakalar. Günlük girişleri, kurtarma işlemi sırasında veritabanını arıza oluşmadan önceki önceki durumuna döndürmek için kullanılabilen bir günlük dosyasında sırayla saklanır. Checkpointing ise veritabanı durumunu günlüklerle periyodik olarak senkronize ederek kurtarma süresini en aza indirmeye yardımcı olan bir işlemdir. Bir kontrol noktası işlemi sırasında, günlük dosyasında kaydedilen tüm değişiklikler veritabanına uygulanır ve bir arıza durumunda sistemin geri dönebileceği kararlı bir nokta oluşturulur.
Arızanın türüne, hasarın boyutuna ve mevcut yedekleme ve kurtarma kaynaklarına bağlı olarak veritabanı kurtarmaya yönelik birden fazla yaklaşım vardır. Temel kurtarma tekniklerinden bazıları şunlardır:
- İşlem Geri Alma : Bu teknik, başarısız veya iptal edilen bir işlemin etkilerini tersine çevirmek için kullanılır. Taahhüt edilmemiş işlemin veritabanında yaptığı değişiklikleri geri almak için günlük girişlerinin kullanılmasını içerir. İşlem geri alma işlemi, işlemin yürütülmesi sırasında bir hata meydana gelse bile veritabanının tutarlı bir durumda kalmasını sağlar.
- İşlemi İleriye Aktarma : Bu teknik, bir veritabanını yedek kopyadan geri yüklerken kullanılır. İşlem, veritabanını yedeklemede yansıtılan duruma geri yükleyerek ve ardından yedekleme yapıldıktan sonra meydana gelen taahhüt edilmiş işlemleri uygulamak için günlük girişlerini kullanarak başlar. Bu, veritabanının güncel olmasını ve arızadan önce yapılan tüm değişiklikleri içermesini sağlar.
- Medya Kurtarma : Medya kurtarma, disk arızası veya bozulması gibi depolama ortamındaki hasardan kaynaklanan bir veritabanı hatası oluştuğunda gereklidir. Bu süreç, veritabanının bir yedekten geri yüklenmesini ve ardından veritabanını güncel hale getirmek için ilgili tüm günlük girişlerinin uygulanmasını içerir. Medya kurtarma, verileri donanım arızalarından ve diğer fiziksel felaketlerden korumak için gereklidir.
- Belirli Bir Noktaya Kurtarma : Bu teknik, bir veritabanının en son durumuna göre değil, zaman içinde belirli bir noktaya kurtarılması gerektiğinde kullanılır. Veritabanının bir yedekten geri yüklenmesini ve ardından taahhüt edilen işlemlerin belirtilen zaman damgasına kadar iletilmesini içerir. Bu kurtarma yöntemi genellikle insan hatalarının veya uygulama hatalarının veri bozulmasına veya yanlışlıkla veri silinmesine neden olduğu durumlarda kullanılır.
Etkili bir kurtarma stratejisinin uygulanması, uygun planlama, test etme ve izlemeyi gerektirir. Veritabanı yedeklemelerinin sıklığının ve türünün belirlenmesi, kabul edilebilir Kurtarma Süresi Hedefinin (RTO) ve Kurtarma Noktası Hedefinin (RPO) belirlenmesi gibi yedekleme ve kurtarma politikalarının oluşturulmasını, yedekleme ve kurtarma altyapısının kullanılabilir ve güvenilir olmasını sağlamayı ve yedekleme ve kurtarma altyapısının kullanılabilir ve güvenilir olmasını sağlamayı içerir. Kurtarma stratejisinin etkinliğini doğrulamak için düzenli testler. AppMaster kullanılarak oluşturulan uygulamalar bağlamında, müşterilerin ilgili ilişkisel veritabanı sistemlerinin kurtarma gereksinimlerini anlamaları ve verilerini korumak ve potansiyel arızalar karşısında bütünlüğünü korumak için uygun önlemleri almaları hayati önem taşımaktadır.
Özetle ilişkisel veritabanlarında kurtarma, verileri çeşitli arızalardan kaynaklanan kayıplardan veya bozulmalardan koruyan kritik bir süreçtir. Sistemi kararlı bir duruma geri yükleyerek ve başarısız işlemlerin etkilerini tersine çevirerek veritabanı bütünlüğünü ve tutarlılığını sağlar. AppMaster müşterilerinin veritabanı kurtarmanın öneminin farkında olması gerekir ve veritabanı yedekleme, kurtarma ve bakım işlemlerinin planlanması, test edilmesi ve izlenmesi de dahil olmak üzere uygulamaları için etkili kurtarma stratejileri oluşturmak için proaktif adımlar atmaları gerekir.