Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Replica Set ve Sharding: Election, Oplog, Shard Key Seçimi ve Hot Shard
Replica set primary çöktüğünde yeni primary'yi yaklaşık 10 saniyede seçer ve bu sürede yazmalar durur; sharding'de ise shard key, yazmaların bir shard'a yığılıp yığılmayacağını belirler. Gerçek çıktılarla: kill -9 sonrası iki başarısız yazma ve 10 saniyelik boşluk, delayed member'dan silinen siparişi geri almak, orderedAt key'iyle son 2.000 siparişin tek shard'a gitmesi, targeted ve scatter-gather sorgular ve beş dakikalık resharding.
Read Concern, Write Concern ve Read Preference: MongoDB'de Tutarlılığı Ayarlamak
MongoDB'de bir yazmanın ne kadar kalıcı, bir okumanın ne kadar güncel olduğunu write concern, read concern ve read preference birlikte belirler; secondary'den okumak bayat veri demektir ve read-your-writes için majority ile causal session gerekir. Üç üyeli bir lab'da gerçek çıktılarla: secondary'de görünmeyen yeni sipariş, zaman aşımına uğrayıp yine de yazılmış bir w:majority, .NET'te 200 denemede 51-59 bayat okuma ve causal session ile sıfır.
MongoDB Lab'ı: Docker'da Tek Node'lu Replica Set, mongosh, Compass ve Bookstore Verisi
Geliştirme için en doğru MongoDB kurulumu, parola korumalı ve 127.0.0.1'e açık tek node'lu bir replica set'tir; transaction ve change stream ancak replica set'te çalışır, member adı da host'tan çözülebilir olmalıdır. Gerçek çıktılarla compose dosyası ve keyfile, rs.initiate, kullanıcı ve yetkiler, mongosh, Bookstore verisinin mongoimport ile yüklenmesi, .NET'ten bağlantı ve standalone sunucuda transaction hatası.