Örnek sorular
Mongodb Transactions ConsistencyZorluk 1
Bir replica set üzerinde çok-dokümanlı ACID transaction'ları hangi MongoDB sürümünden itibaren çalıştırabilirsiniz?
Açıklama:MongoDB 4.0, replica set'ler için çok-dokümanlı ACID transaction'ları tanıttı. Sharded cluster desteği 4.2'de geldi.
Mongodb Transactions ConsistencyZorluk 1
Çok-dokümanlı transaction'lar hangi MongoDB sürümünden itibaren bir sharded cluster'a (birden çok shard'a) yayılabilir?
Açıklama:MongoDB 4.2, çok-dokümanlı transaction desteğini bir transaction coordinator aracılığıyla birden çok shard'ı kapsayacak şekilde sharded cluster'lara genişletti.
Mongodb Transactions ConsistencyZorluk 2
Aşağıdakilerden hangisi çok-dokümanlı bir transaction'ı doğru şekilde açıp kullanıp commit eder (mongosh)?
- as = db.getMongo().startSession(); s.startTransaction(); s.getDatabase("app").orders.insertOne({sku:1}); s.commitTransaction();✓
- bdb.orders.beginTransaction(); db.orders.insertOne({...}); db.orders.endTransaction();
- cdb.runCommand({transaction: true}); db.orders.insertOne({...});
- ddb.orders.insertOne({...}, {transaction: "start"});
Açıklama:MongoDB transaction'ları bir ClientSession üzerinde startTransaction() ile açılır, işlemler o session'ın database handle'ı üzerinden yürütülür ve commitTransaction() bunları sonlandırır. Koleksiyon başına bir beginTransaction/endTransaction API'si yoktur.
Mongodb Transactions ConsistencyZorluk 2
Bir sorgu hiçbir şey belirtmediğinde ve özel bir varsayılan yapılandırılmadığında hangi read concern seviyesi kullanılır?
- amajority
- blocal✓
- csnapshot
- dlinearizable
Açıklama:Açık veya özel bir varsayılan read concern yoksa örtük varsayılan localdır: sorgunun ulaştığı node'daki en güncel veriyi döndürür, majority onayı garantisi vermez.
Mongodb Transactions ConsistencyZorluk 2
Read concern majority ile yapılan bir okuma bir doküman döndürüyor. Bu, doküman hakkında ne garanti eder?
- a
w: 1 ile yazılmıştır ve yalnızca primary'de dayanıklı olması garantidir - bHenüz hiçbir yere replike edilmemiş olsa bile her zaman en son yazımdır
- cPrimary'yi tamamen atlayıp doğrudan bir secondary'den okunmuştur
- dReplica set'in majority-commit noktasına ulaşmış veriyi yansıtır✓
Açıklama:Read concern majority, majority-commit olmuş veriyi döner; bu da verinin daha sonraki bir election ile geri alınmayacağı anlamına gelir. Bu, ilk yazının w: "majority" kullandığı anlamına gelmez; w: 1 ile onaylanan bir yazı da daha sonra majority-commit noktasına ulaşabilir.
Mongodb Transactions ConsistencyZorluk 1
MongoDB 5.0'dan önce, write concern yapılandırılmadığında bir replica set'e karşı yapılan sade bir insertOne() çağrısının örtük varsayılan write concern'ü neydi?
- a
w: 1✓ - b
w: majority - c
w: 0 - d
w: all
Açıklama:MongoDB 5.0'dan önce örtük varsayılan w: 1 idi: onay, secondary'lere replikasyonu beklemiyordu. MongoDB 5.0'dan itibaren örtük varsayılan çoğu replica-set topolojisinde w: "majority"dir (arbiter içeren bazı topolojiler istisnadır); bu nedenle sürüm nitelemesi önemlidir.