Skip to main content

> dynamodb_global_tables_ekonomisi:_çoğaltılmış_yazma_birimleri_(rwcu)_ve_çok_bölgeli_maliyet_çarpanı

DynamoDB Global Tables Ekonomisi: Çoğaltılmış Yazma Birimleri (rWCU) ve Çok Bölgeli Maliyet Çarpanı

DynamoDB Global Tables özelliğini 3 AWS bölgesinde açmak veritabanı faturasını neden üçe dörde katlar; rWCU maliyetlerini kontrol altında tutmak için seçici replikasyon nasıl kurgulanır?

Principal/Architect (L7+)

ÖZET VE TEKNİK CEVAP

DynamoDB Global Tables, AWS bölgeleri arasında 1 saniyenin altında gecikmeyle tam yönetimli çok merkezli (active-active) replikasyon sağlar. Ancak çoğu mühendislik ekibi çok bölgeli replikasyonun ucuz olduğunu varsayarak bu özelliği açar ve devasa faturalarla karşılaşır: (1) **Çoğaltılmış Yazma Kapasitesi (rWCU)**: A Bölgesinde (`us-east-1`) tek bir yazma yaptığınızda, DynamoDB ana yazma ücretine ek olarak **her kopya bölge için 1.5 kat rWCU ücreti** keser (On-demand modelinde milyon yazma başına $1,875). (2) **Bölgeler Arası Ağ Çıkış Ücreti (Egress)**: Replikasyonla aktarılan her bayt için standart bölgeler arası veri transfer ücreti ödenir. 3 bölgeli bir yapıda (ABD, Avrupa, Asya) tek bir yazma işlemi **4 kat yazma maliyeti + ağ ücreti** olarak faturalandırılır. Saniyede 5.000 yazma yapan bir veritabanının aylık faturası **$3.200'den $13.500'ün üzerine fırlar**. Canlı mimariler bunu **Seçici Alan Replikasyonu**, Aktif-Pasif Okuma Kopyaları ve yazma izolasyonu ile dizginler.

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Global Tables maliyeti şu formülle hesaplanır: (1) Çoğaltılmış Yazma Formülü: $N$ bölgeye yayılan bir tabloda: $$ ext{Toplam Yazma Maliyeti} = WCU_{ ext{ana}} + (N-1) imes 1.5 imes rWCU + ext{BölgeArasıAğÜcreti}$$. (2) Çakışma Yönetimi: Son Yazan Kazanır (LWW) algoritması ek zaman damgası üstverileri taşır ve replike edilen bayt boyutunu artırır. (3) Seçici Replikasyon: Geçici oturum anahtarları ve kilitler yerel tek bölgeli tablolarda (`oturumlar_yerel`) tutulur; yalnızca kritik kalıcı veriler (`kullanicilar_global`) 4 kat maliyetli Global Table havuzuna dahil edilir.

2. Doğru Kullanım Senaryosu

Dünya geneline yayılmış kullanıcı profilleri, anında felaket kurtarma (RTO $< 1 ext{sn}$) gerektiren kritik sistemler ve düşük gecikmeli küresel sepet durumları.

3. Prodüksiyon Arıza Modları

Geçici kilitleri veya saniyelik sayaçları bir Global Table'da saklayıp 4 kıtaya milyonlarca gereksiz çoğaltma ücreti ödemek; toplu veri aktarımlarını (backfill) doğrudan Global Table üzerinde çalıştırıp faturaları %400 şişirmek.

4. Teşhis ve Telemetri Sinyalleri

AWS Faturasında `DynamoDB-ReplicatedWriteUnits` kaleminin toplam veritabanı harcamasının %60'ını aşması; ikincil AWS bölgelerine devasa günlük ağ çıkış faturası yansıması.

5. Önleme ve Mimari Bariyerler

Veritabanını Yerel Tablolar (yüksek frekanslı geçici veriler için) ve Global Tablolar (çekirdek kullanıcı verisi için) olarak ikiye ayırın; analitik loglar için asla Global Tables açmayın; On-Demand moduna üst limit korumaları koyun.

6. Mimari Ödünleşimler (Trade-offs)

Global Tables kıtalararası 1 saniyenin altında kusursuz felaket kurtarma sağlar; ancak eklenen her bölge için yazma maliyetini 1,5 kat artırır ve ağ transfer faturası ekler.

Vaka İncelemesi (TinyCTO Örneği)

Bir mobil oyun platformu, oyuncu oturum kalp atışlarını (heartbeat) ve skorlarını 3 bölgeye (Virjinya, Frankfurt, Tokyo) yayılan bir DynamoDB Global Table'da tutuyordu. Her 10 saniyede bir yazılan oturumlar saniyede 12.000 yazma üreterek ayda $28.400 fatura çıkardı. Ekip tabloları ayırdı: Geçici oturumlar yerel tek bölgeli Redis tablolarına taşındı; sadece kalıcı oyuncu profilleri Global Table'da bırakıldı. Çoğaltılmış yazma hacmi %92 düştü ve aylık DynamoDB faturası $28.400'den $3.900'e geriledi.

İnteraktif Konsept Alıştırmaları

2 Alıştırma
Q1

AWS, DynamoDB Global Tables'taki Çoğaltılmış Yazma Birimlerini (rWCU) standart yazmalara kıyasla nasıl ücretlendirir?

Her bir kopya bölge, ana bölgedeki her 1 yazma işlemi için 1,5 Çoğaltılmış Yazma Birimi (rWCU) tüketir; ayrıca bölgeler arası veri transfer ücreti eklenir.
Q2

Yüksek frekanslı geçici verilerde Global Table çoğaltma ücreti ödemekten kaçınmak için hangi mimari model kullanılır?

Yerel ve Küresel Tablo Ayrımı: Geçici oturumları ve kilitleri tek bölgeli yerel tablolarda tutmak; Global Tables'ı yalnızca kalıcı ve kritik küresel varlıklar için kullanmak.

DynamoDB Global Tables Ekonomisi: Çoğaltılmış Yazma Birimleri (rWCU) ve Çok Bölgeli Maliyet Çarpanı — Sıkça Sorulan Sorular

DynamoDB Global Tables hangi çakışma çözme (conflict resolution) stratejisini kullanır?

Son Yazan Kazanır (Last-Writer-Wins - LWW): DynamoDB farklı bölgelerden aynı anda gelen çakışan yazmalarda daha yeni zaman damgasına sahip olanı kabul eder.

Bir DynamoDB Global Table'dan okuma yapmak bölgeler arası veri transfer ücreti yaratır mı?

Hayır. Uygulamanın bulunduğu yerel bölgedeki kopya tablodan yapılan okumalar standart yerel fiyattan ücretlendirilir ve sıfır bölge transfer ücreti üretir.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • DynamoDB Global Tables her kopya bölge için 1,5 kat Çoğaltılmış Yazma Birimi (rWCU) faturalandırır.
  • 3 bölgeli aktif-aktif bir tablo toplam yazma maliyetini yaklaşık 4 katına çıkarır.
  • Yüksek frekanslı geçici oturum anahtarlarını asla çok bölgeli Global Tablolarda saklamayın.
  • Verileri tek bölgeli Yerel Tablolar ve çok bölgeli Global Tablolar olarak ayrıştırın.

Yaygın Yanılgılar

  • Yanılgı: Global Tables sadece ilk yapılan ana yazma için ücret alır (Gerçek: Replikasyon yapılan her bir ek bölge 1,5 kat rWCU ve ağ transfer ücreti üretir).
  • Yanılgı: Yüksek erişilebilirlik için projedeki tüm tablolar Global Table yapılmalıdır (Gerçek: Tüm tabloları çoğaltmak bütçeyi yakar; şirket verilerinin yalnızca %10-20'si gerçekten çok bölgeli replikasyona ihtiyaç duyar).

Karar Kılavuzu & Önceliklendirme

Kontrolsüz çoğaltılmış yazma faturalarını önlemek için DynamoDB mimarilerinde Yerel ve Küresel tablo ayrımı yapın; çok bölgeli replikasyonu yalnızca düşük yazma hacimli kritik küresel varlıklarla sınırlayın.

Doğrulanmış Kaynaklar & Referanslar