yoklateknik mülakat

Veritabanı Mülakat Soruları

2475 doğrulanmış Veritabanı mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Backup RecoveryZorluk 1
Veritabanı yedeği (backup) almanın temel amacı nedir?
  • aSık erişilen satırları bellek-içi bir cache katmanında tutarak okuma sorgularını hızlandırmak
  • bGelen okuma trafiğini birden çok veritabanı sunucusuna eşit dağıtmak
  • cDonanım arızası, yanlışlıkla silme veya bozulmadan sonra veriyi kurtarmak
  • dİlişkili parent/child tablolar arası referential integrity'yi otomatik zorunlu kılmak
Açıklama:Backup'ın var oluş amacı, arızalardan (disk çökmesi, insan hatası, yazılım bug'ı, ransomware) sonra kaybolan/bozulan veriyi geri yüklemektir. Cache (a) ve yük dağıtımı (b) performans konusudur; integrity kısıtları (d) ise backup'la değil şema ile sağlanır.
Backup RecoveryZorluk 2
Bir ekip, primary veritabanını senkron bir replica ile çalıştırıyor ve şöyle diyor: 'Backup'a gerek yok — replica zaten yedeğimiz.' Bu mantık neden tehlikelidir?
  • aReplica sadece okuma yaptığı için kaybolan veriyi ondan geri kopyalayamazsın
  • bYanlışlıkla yapılan bir DELETE veya bozulma standby'a da replike olur ve iki kopya birden yok olur
  • cReplication primary'nin o kadar gerisinden gelir ki standby'da hiç işe yarar güncel veri kalmaz
  • dReplica veriyi sıkıştırılmış bir formatta tutar ve tekrar bir veritabanına çevrilemez
Açıklama:Replication değişiklikleri sadakatle kopyalar — yıkıcı olanlar dahil. Yanlış bir DELETE, hatalı WHERE'li bir UPDATE ya da bozulma saniyeler içinde replica'ya gider; iki kopya birlikte kaybolur. Backup, geri dönebileceğin bir noktadaki kopyadır; replica değildir. Okuma (a), lag (c) ve format (d) esas sebep değildir.
Backup RecoveryZorluk 2
Incremental ve differential backup arasındaki fark nedir?
  • aİkisi tamamen aynı tekniğin iki farklı adıdır
  • bIncremental, son full backup'tan bu yana her şeyi kopyalar; differential ise yalnızca en yeni değişiklikleri kopyalar
  • cIncremental yalnızca bir full backup'ı takip edebilir; differential ise yalnızca başka bir differential'ı takip edebilir
  • dIncremental, herhangi bir türdeki son backup'tan sonra değişeni; differential ise son full backup'tan sonra değişeni kopyalar
Açıklama:Incremental backup yalnızca bir önceki backup'tan (full ya da incremental) sonra değişeni alır; bu yüzden restore, full'ün üstüne her incremental'i sırayla oynatmayı gerektirir. Differential, son full backup'tan sonra değişen her şeyi alır; restore için full + en son differential yeter. (b) şıkkı iki tanımı yer değiştirmiş verir.
Backup RecoveryZorluk 2
Her gece sıfırdan full backup almak yerine 'haftalık full + gecelik incremental' stratejisi temelde neyi takas eder?
  • aDaha hızlı ve küçük gecelik backup'lar karşılığında, full'ün üstüne her incremental'i oynatan daha yavaş bir restore
  • bDaha yavaş gecelik backup'lar karşılığında hiçbir commit edilmiş verinin asla kaybolmayacağı garantisi
  • cFazladan depolama kullanımı karşılığında veritabanını herhangi bir tek saniyeye geri döndürebilme
  • dDaha basit bir kurulum karşılığında motorun her backup'ı otomatik off-site bir konuma kopyalaması
Açıklama:Incremental'ler her gece çok daha az yazar (daha hızlı, küçük) ama kurtarma son full'den başlayıp her incremental'i sırayla oynatmak zorundadır — daha çok adım, daha çok süre ve zincirin bir halkasının eksik olma riski. Sıfır kayıp (b) ya da saniye seviyesinde kurtarma (c) garantisi vermez; onlar ayrı konudur.
Backup RecoveryZorluk 2
pg_dump mydb > mydb.sql

Bu komut bir logical backup üretir. Logical backup, physical backup'tan nasıl ayrılır?
  • aLogical backup ham disk dosyalarını ve blokları kopyalar; physical backup ise SQL ifadeleri üretir
  • bLogical backup veriyi SQL ya da taşınabilir bir format olarak dışa aktarır; physical backup ise ham dosyaları kopyalar
  • cLogical backup yalnızca şema tanımını alabilir, tablo verisinin gerçek satırlarını asla alamaz
  • dPhysical backup yalnızca veritabanında hiç açık istemci bağlantısı yokken çalışabilir
Açıklama:Logical backup (pg_dump / mysqldump gibi) veriyi taşınabilir ifadeler olarak yeniden kurar; farklı bir versiyona ya da platforma restore edilebilir. Physical backup ham veri dosyalarını ve blokları kopyalar — çok büyük veritabanlarında daha hızlıdır ama aynı motor yerleşimine bağlıdır. (a) şıkkı ikisini ters çevirir.
Backup RecoveryZorluk 3
Bir veritabanını, farklı bir major versiyonda ve farklı bir CPU mimarisinde çalışan bir sunucuya taşıman gerekiyor.
# seçenek A (physical): ham veri dosyalarını kopyala
# seçenek B (logical): pg_dump olddb | psql -h newhost newdb

Genelde hangisi daha güvenli ve neden?
  • aPhysical dosya kopyası, çünkü ham veri dosyaları versiyonlar ve CPU mimarileri arasında her zaman uyumludur
  • bHiçbiri işe yaramaz — veri sunucular arasında yalnızca önce streaming replication kurularak taşınır
  • cİkisi de burada eşdeğerdir, çünkü backup formatının platformlar arası taşınabilirlikle ilgisi yoktur
  • dLogical SQL dump, çünkü taşınabilirdir ve farklı bir versiyona ya da platforma yeniden yüklenebilir
Açıklama:Physical backup, major versiyonlar ve mimariler arasında değişebilen motor-içi dosya formatlarını kopyalar; başka yere restore etmek kırılgandır. Logical dump ise motorun okuyabildiği SQL/veridir; versiyonlar ve platformlar arası taşımanın standart aracı tam da bu yüzden odur. Replication (b) kopyaları senkron tutar ama migration için ön koşul değildir.

2475 soruluk Veritabanı bankasında kendini sına.

Mülakata başla