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.
MongoDB Güvenliği ve İşletimi: Authentication, Role'ler, TLS, Queryable Encryption, Backup ve İzleme
Uygulamanın MongoDB kullanıcısı readWrite ile bile collection silebilir; en az yetki için yalnız gereken action'ları veren bir custom role tanımlanmalı. Gerçek çıktılarla: readWrite'ın 25 action'ı, drop ve createIndex'i reddeden custom role, CA zorunlu TLS, Community'de explicit Queryable Encryption ile şifreli alanda eşitlik sorgusu, mongodump ve restore testi, filtreli profiler, %1 örneklemeli $queryStats ve driver'ın OpenTelemetry span'leri.
MongoDB 6.0'dan 9.0'a ve C# Driver 2.x'ten 3.x'e: Sürüm Modeli, Yenilikler ve Geçiş Kontrol Listesi
MongoDB 6.0'dan 9.0'a doğrudan geçilemez; major sürümler sırayla kurulur ve her adımda feature compatibility version yükseltilir. C# driver 3.x'e geçişte asıl risk derleme hataları değil, 2.x'in string olarak yazdığı decimal'ler ve array olarak yazdığı DateTimeOffset'lerdir. Gerçek çıktılarla: 9.0'ın 6.0 verisiyle açılmaması, 7.0-8.0-9.0 adımları, aynı LINQ sorgusunun 2.30'da yanlış, 3.14'te sıfır sonuç vermesi ve veriyi taşıyan migration.