III. Veri Yönetimi & Tutarlılık
Veri, dağıtılması en zor şeydir; çünkü onu bölmek ve kopyalamak, ağın kaçınmanıza izin vermeyeceği bir seçimi dayatır: bir bölünme (partition) yaşandığında, tutarlılıktan mı yoksa erişilebilirlikten mi feragat edersiniz? Bu bölüm, bu kararın tüm katmanını işler — veriyi düğümler arasında nasıl bölümleyeceğinizi, dayanıklılık ve okumalar için nasıl replikleyeceğinizi, hangi tutarlılık modelini sunacağınızı, hangi depolama motorunun onu diske yazdığını ve önbelleklemenin tazeliği hıza karşı nasıl takas ettiğini. Buradaki her bölüm, hangi garantiden vazgeçeceğinizi seçme egzersizidir.
İncelenen Konular
Section titled “İncelenen Konular”- 3.1. Veri Bölümleme / Sharding: Veri kümelerini düğümler arasında bölmek: aralık ve hash bölümleme, sıcak noktalar, consistent hashing ve bölümlenmiş ikincil indeksler.
- 3.2. Replikasyon Stratejileri: Veri kopyalarını senkronize tutmak: tek liderli, çok liderli ve lidersiz topolojiler, split-brain riski, replikasyon gecikmesi ve anti-entropy.
- 3.3. Tutarlılık Modelleri: Bir okumanın ne döndürebileceğinin yelpazesi: linearizability, serializability, nedensel ve nihai tutarlılık, CAP ve PACELC.
- 3.4. Depolama Motorları ve Veri Yapıları: Veritabanlarının baytları diske nasıl yazdığı: LSM-tree’ler ve B-tree’ler, SSTable’lar, Bloom filtreleri, write-ahead log ve kolonsal düzenler.
- 3.5. Dağıtık Önbellekleme: Tazeliği hıza karşı takas etmek: önbellek stratejileri, geçersizleştirme, Redis cluster mimarisi ve stampede önleme.