Sobes.tech
Middle

CAP teoremi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

CAP Teoremi (aynı zamanda Brewer Teoremi olarak da bilinir), dağıtık bir hesaplama sisteminde aynı anda şu özelliklerin sağlanmasının mümkün olmadığını belirtir:

  • Tutarlılık (Consistency): Tüm düğümler aynı verileri aynı anda görür. Her okuma işlemi en son yazılan verileri alır.
  • Erişilebilirlik (Availability): Her istek boş olmayan bir yanıt alır, diğer düğümlerin durumu ne olursa olsun. Sistem her zaman okuma ve yazma işlemleri için erişilebilir durumdadır.
  • Bölünme Toleransı (Partition Tolerance): Düğümler arasındaki bağlantı kaybolsa bile sistem çalışmaya devam eder (ağ bölünmeleri).

Ağ bölünmesi ($P$) durumunda, sistem tutarlılık ($C$) ve erişilebilirlik ($A$) arasında seçim yapmak zorundadır.

  • CA sistemi: Ağ bölünmesi olmadığı varsayılır. Bölünmeler meydana geldiğinde, sistem ya erişilemez hale gelir ya da tutarsız olur. Örnekler: yerel ağda senkron replikasyon yapan klasik ilişkisel veritabanları.
  • CP sistemi: Ağ bölünmesi sırasında tutarlılıktan ödün vererek erişilebilirliği feda eder. Bir düğüm çoğunlukla iletişim kuramazsa, yanıt vermeyi durdurur, böylece veri tutarlılığını garanti eder. Örnekler: Zookeeper, etcd, Paxos veya Raft gibi konsensus protokolleri kullanan dağıtık sistemler.
  • AP sistemi: Ağ bölünmesi sırasında tutarlılığı feda eder, erişilebilirliği tercih eder. Sistem, yanıt vermeye devam eder, ancak eski veya çelişkili veriler sağlayabilir. Sonrasında tutarlılık (eventual consistency) sağlanır. Örnekler: DynamoDB, Cassandra, MongoDB (varsayılan olarak bazı konfigürasyonlarda).

CAP teoremi, dağıtık veri depolama sistemlerine uygulanır. Gerçek sistemlerde, genellikle uzlaşmalar yapmak ve uygulamanın özel gereksinimlerine en uygun modeli seçmek gerekir.