Örnek sorular
Mongodb OperationsZorluk 1
mongodump aracı bir veritabanına karşı çalıştırıldığında varsayılan olarak ne üretir?
- a
mysql tarzı araçların replay edebileceği tek bir sıkıştırılmış SQL dosyası - bKoleksiyon başına bir BSON dosyası kümesi ve metadata✓
- cSunucu tamamen durdurulmuşken alınan, disk üzerindeki alttaki WiredTiger veri dosyalarının byte-byte ham kopyası
- dTamamen storage engine tarafından yönetilen point-in-time bir filesystem snapshot'ı
Açıklama:mongodump, dökümanları normal sorgu yolu üzerinden okur ve koleksiyon başına BSON dosyaları ile birlikte metadata (index'ler, seçenekler) yazar — bu disk üzerindeki dosyaların ham kopyası değil, mantıksal bir backup'tır.
Mongodb OperationsZorluk 1
mongodump'ın ürettiği veriyi bir MongoDB sunucusuna geri yükleyen komut hangisidir?
- a
mongoimport, çünkü genel amaçlı veri yükleme aracıdır - bDump dizinine karşı çalıştırılan
mongosh --load - cDump dizinini işaret eden
mongorestore✓ - dDump yolunu argüman olarak alan
mongod --restore
Açıklama:mongorestore, mongodump'ın karşılığıdır: bir dump'ın ürettiği BSON/metadata dosyalarını okur ve çalışan bir mongod/mongos'a geri ekler. mongoimport JSON/CSV içindir, mongodump çıktısı için değil.
Mongodb OperationsZorluk 2
Aktif yazışlar altındaki bir replica set üyesini yedeklerken mongodump --oplog neden önemlidir?
- aDump sırasında oplog kayıtlarını da yakalar; böylece backup tek ve tutarlı bir zaman noktasına kadar replay edilebilir✓
- bDump'ı oplog'un binary formatını kullanarak sıkıştırır, daha küçük bir dosya üretir
- cDump süresince o üyedeki yazışları devre dışı bırakır, tutarlılığı garanti eder
- dGerçek veri yerine yalnızca oplog koleksiyonunu dump'lar, replikasyon debug'ı için
Açıklama:--oplog olmadan, yazışlar devam ederken alınan bir dump koleksiyonlar arasında tutarsız olabilir (farklı koleksiyonlar farklı zaman noktalarını yansıtır). --oplog, dump sırasında oplog'u da kaydeder ki mongorestore --oplogReplay her şeyi tek bir tutarlı point-in-time'a getirebilsin.
Mongodb OperationsZorluk 2
Bir ekip, MongoDB'yi mongodump yerine veri dizininin filesystem-seviyesi bir snapshot'ını (ör. LVM ya da bulut disk snapshot'ı) alarak yedekliyor. Bu snapshot'ın kullanılabilir olması için ne doğru olmalıdır?
- aKoleksiyonları bozmamak için snapshot aracının BSON döküman formatını anlaması gerekir
- bFilesystem snapshot'ları kendi başlarına asla restore edilemeyeceğinden önce yine de ayrıca bir kez
mongodump çalıştırılmalıdır - cVeritabanının WiredTiger yerine in-memory storage engine ile çalışıyor olması gerekir
- dSnapshot'ın tüm veri dosyalarını tek, tutarlı bir anda (crash-consistent) yakalaması gerekir✓
Açıklama:Filesystem/block-seviyesi bir snapshot çalışır çünkü WiredTiger, tıpkı bir güç kesintisinden sonra kurtardığı gibi crash-consistent bir imajdan kurtarmak üzere tasarlanmıştır — ama snapshot'ın tüm veri dizinini tek bir anda atomik olarak yakalaması gerekir, aksi halde farklı zaman noktalarındaki dosyaları karıştırıp restore'da veriyi bozabilir.
Mongodb OperationsZorluk 2
MongoDB'de db.currentOp() ne için kullanılır?
- aSon profiler penceresinde kaydedilen operasyonları listelemek için
- bSunucuda şu anda devam eden operasyonları, süreleri ve sorgu şekilleriyle birlikte göstermek için✓
- cReplikasyon gecikmesini debug etmek için en son oplog kaydını replay etmek için
- dGüncel replica set konfigürasyon dökümanını döndürmek için
Açıklama:db.currentOp(), sunucuda o anda devam eden operasyonların (sorgular, yazışlar, index build'leri vb.) bir anlık görüntüsünü döndürür — şu anda uzun süren ya da bloke eden bir operasyonu tespit etmenin ana aracıdır.
Mongodb OperationsZorluk 2
Profiler filter'sız ve sampleRate 1.0 iken database profiler'ı slowms eşiğiyle seviye 1'de etkinleştirmek ne yapar?
- aSüresinden bağımsız olarak her tek operasyonu
system.profile'a loglar - bProfiling'i tamamen devre dışı bırakır ama sunucu geneli CPU kullanımını kaydetmeye devam eder
- c
workingMillis değeri slowms'i aşan operasyonları system.profile koleksiyonuna kaydeder✓ - d
slowms'i aşan herhangi bir operasyonun tamamlanmasını sunucuyu korumak için engeller
Açıklama:Filter yokken ve sampleRate: 1.0 iken profiler seviye 1, workingMillis değeri slowms'i aşan operasyonları kaydeder; workingMillis, toplam duvar saati yerine MongoDB'nin operasyon üzerinde çalıştığı süreyi ölçer. Daha düşük bir sampleRate uygun operasyonları örnekler; yapılandırılmış bir filter ise slowms/sampleRate kriterlerinin yerini alır. Seviye 2 tüm operasyonları kaydeder.