⚡ÖZET VE TEKNİK CEVAP
Dağıtık veritabanlarında (DynamoDB, Cassandra, Kafka) veriler bir partition anahtarının hash'ine göre bölünür (partition_key = user_id). Normal şartlarda bu yükü 50 sunucuya eşit dağıtır. Ancak viral bir olayda (ör. 500.000 kullanıcının aynı anda unlu_post_99 gönderisine yorum yapması), tüm isteklerin hash'i TAM OLARAK AYNI sunucuya düşer. Kümedeki 49 sunucu %2 CPU ile boşta yatarken, o tek sunucu %100 CPU ve disk kilitlenmesiyle çöker ('Hot Partition Problemi'). Kesin çözüm Partition Anahtarlarını Tuzlamaktır (Salting): Uygulama anahtarın sonuna rastgele veya deterministik bir ek (unlu_post_99_0, unlu_post_99_1, ..., unlu_post_99_9) ekleyerek yazma yükünü 10 farklı fiziksel sunucuya dağıtır. Okuma yapılırken bu 10 tuzlu anahtar aynı anda paralel sorgulanıp (fan-out) sonuçlar birleştirilir.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
Mekanizma🎯2. Doğru Kullanım Senaryosu
Kapsam⚠️3. Prodüksiyon Arıza Modları
Kritik Risk📡4. Teşhis ve Telemetri Sinyalleri
Metrikler🛡️5. Önleme ve Mimari Bariyerler
Bariyerler⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimVaka İncelemesi (TinyCTO Saha Örneği)
Bir canlı oylama uygulaması, televizyon finalinde saniyede 200.000 oy poll_id = 'final_2026' anahtarına yazıldığı için kilitlendi. DynamoDB tek bir partition'da 1.000 yazma sınırına takıldığı için oyların %85'ini reddetti. Ekip 200 sanal shard'lı rastgele tuzlama (final_2026_0 ... final_2026_199) getirdi. 200.000 yazma sıfır takılmayla 200 partition'a pürüzsüz dağıldı; oy sayımı ise 200 parçanın toplanmasıyla 35 milisaniyede tamamlandı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaDağıtık NoSQL veritabanlarında 'Hot Partition Problemi' nedir?
Anahtar Tuzlama (Key Salting) sıcak partition yazma darboğazını nasıl çözer?
Aşırı Yüklü Partition (Hot Partition) Çözümü: Tuzlanmış Anahtarlar (Salted Keys) ve Sentetik Dağıtım — Sıkça Sorulan Sorular
$N$ adet shard'a tuzlanarak yazılmış bir veriyi nasıl okursunuz?
Paralel Scatter-Gather (Dağıt-Topla) kalıbıyla: İstemci $N$ adet tuzlu anahtara aynı anda paralel sorgu atar ve gelen sonuçları bellekte birleştirip sıralar.
Yüksek hacimli bir sistemde ideal tuzlama boyutu ($N$) kaçtır?
Genellikle $N=10$ ila $N=50$ arası. Aşırı büyük tuzlama değerleri ($N=1.000$) okuma sırasında çok fazla paralel istek yükü ve gecikme yaratır.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
Hot partitions occur when viral keys concentrate massive load onto a single database node.
- ▸
Consistent hashing fails when millions of writes share the exact same key.
- ▸
Salting appends a suffix (
key_0..key_N) to spread writes across N physical shards. - ▸
Read queries execute parallel scatter-gather requests across all N salted keys.
Yaygın Yanılgılar
- ✗
Yanılgı: Provisioning more database capacity fixes hot partitions (Gerçek: Capacity is divided per partition; a single hot partition hits the same single-node limit).
- ✗
Yanılgı: Salting should be applied to every single table key (Gerçek: Apply salting selectively to high-throughput viral entities).
Karar Kılavuzu & Önceliklendirme
Use high-cardinality composite partition keys for default database schema design. Implement random key salting (N=10 ext{--}50) on ultra-hot viral entities with scatter-gather reads.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]AWS DynamoDB Best Practices: Designing Partition Keys to Distribute Workloads Evenly— Amazon Web Services (AWS Architecture Guide)
