---
title: "Chapter 01: CAP Teoremi, PACELC Ödünleşimleri & Resmi Tutarlılık Modelleri | TinyCTO Distributed Systems Canon"
description: "Dağıtık uzlaşmanın derin matematiksel temelleri: Brewer’ın CAP teoremi, Abadi’nin PACELC sınıflandırması ve Lineerleştirilebilirlikten Nihai Tutarlılığa uzanan tutarlılık modelleri hiyerarşisi."
image: "https://tinycto.tv/assets/distributed-systems/distributed_systems_manuals_og.jpg"
canonicalUrl: "https://tinycto.tv/tr/distributed-systems/manuals/01-cap-pacelc-temelleri"
locale: "tr"
---

# Chapter 01: CAP Teoremi, PACELC Ödünleşimleri & Resmi Tutarlılık Modelleri

> **Kanonik Dağıtık Sistemler Mühendislik Kılavuzu**
> **Teorem Referansı**: Eric Brewer (2000) / Daniel Abadi PACELC (2012) | **Okuma Süresi**: 18 min read | **Olgunluk Seviyesi**: INITIAL

Dağıtık uzlaşmanın derin matematiksel temelleri: Brewer’ın CAP teoremi, Abadi’nin PACELC sınıflandırması ve Lineerleştirilebilirlikten Nihai Tutarlılığa uzanan tutarlılık modelleri hiyerarşisi.

# CAP Teoremi, PACELC Ödünleşimleri & Resmi Tutarlılık Modelleri

## Yönetici Özeti
Dayanıklı dağıtık sistemler tasarlamak, temel fiziksel sınırları kabul etmekle başlar: ağ gecikmesi sıfır olamaz, paket kaybı kaçınılmazdır ve mutlak senkronize küresel fiziksel saatler yoktur. Eric Brewer’ın CAP Teoremi ve Daniel Abadi’nin PACELC Teoremi, dağıtık sistemlerin normal çalışma ve ağ bölünmesi (partition) anlarında vermesi gereken ödünleşimleri matematiksel olarak modeller.

## 1. Brewer’ın CAP Teoreminin Resmi Tanımı
Brewer’ın CAP Teoremi, dağıtık bir veri deposunun aynı anda şu üç özellikten en fazla ikisini sağlayabileceğini belirtir:
- **Consistency (Linearizability - Tutarlılık):** Her okuma işlemi en güncel yazma sonucunu veya bir hata döndürür.
- **Availability (Erişilebilirlik):** Çökmeyen her düğüm, her isteğe hatasız bir yanıt döndürür (en son yazmayı içerme garantisi olmadan).
- **Partition Tolerance (Bölünme Toleransı):** Düğümler arasındaki ağ paketleri kaybolsa veya gecikse bile sistem çalışmaya devam eder.

Fiziksel bir ağda ağ bölünmeleri ($P$) kaçınılmaz olduğundan, mimarlar temelde **CP** (Bölünme anında Tutarlılık) ile **AP** (Bölünme anında Erişilebilirlik) arasında seçim yapmak zorundadır.

```mermaid
flowchart TD
    NetworkSplit["Ağ Bölünmesi Tespit Edildi (P)"]
    Decision{"Sistem Tasarım Tercihi"}
    
    NetworkSplit --> Decision
    Decision -->|Eski Yazmaları Reddet / İptal Et| CP["CP: Tutarlılık Korunur<br/>[Raft, Kafka KRaft, Spanner, etcd]"]
    Decision -->|Yerel Yazmaları Kabul Et / Sonradan Eşitle| AP["AP: Erişilebilirlik Korunur<br/>[Cassandra, DynamoDB, Couchbase, ScyllaDB]"]
    
    CP --> Linearizable["Linearizability Güvencesi<br/>Azınlık Bölümünde Kesinti Kabul Edilir"]
    AP --> Eventual["%100 Çalışma Süresi Güvencesi<br/>Nihai Tutarlılık ve Çakışmalar Kabul Edilir"]
```

## 2. Abadi’nin PACELC Teoremi
PACELC Teoremi, CAP teoremini ağ *normal* çalıştığında (bölünme yokken) ortaya çıkan gecikme ve tutarlılık ödünleşimini kapsayacak şekilde genişletir:
$$\text{Eğer } P \text{ (Bölünme)} \rightarrow [A \lor C] \text{ seç}; \quad \text{YOKSA (Else)} \rightarrow [L \lor C] \text{ seç}$$
- **PC/EC:** Bölünmede Tutarlılık; Normalde Tutarlılık (örn. Apache Kafka KRaft, CockroachDB, Google Spanner).
- **PA/EL:** Bölünmede Erişilebilirlik; Normalde Düşük Gecikme (örn. DynamoDB eventual read, Cassandra, Couchbase).
- **PA/EC:** Bölünmede Erişilebilirlik; Normalde Tutarlılık (örn. MongoDB primary reads).
- **PC/EL:** Bölünmede Tutarlılık; Normalde Gecikme Önceliği (örn. PostgreSQL sync replica).

## 3. Tutarlılık Modelleri Hiyerarşisi
1. **Strict Serializability (Dışsal Tutarlılık):** Altın standart. İşlemler fiziksel zaman sırasına göre lineerize edilmiş olarak yürütülür.
2. **Linearizability (Atomik Tutarlılık):** Tek-nesne, tek-işlem gerçek zamanlı sıralama güvencesi.
3. **Sequential Consistency (Ardışık Tutarlılık):** İşlemler tüm düğümler tarafından aynı sırada gözlemlenir ve program sırasına uyar.
4. **Causal Consistency (Nedensel Tutarlılık):** Nedensel ilişkili işlemler tüm düğümlerde aynı sırada görünür; bağımsız işlemler farklı sırada görülebilir.
5. **Eventual Consistency (Nihai Tutarlılık):** Yeni güncelleme yapılmadığı sürece tüm kopyalar eninde sonunda aynı duruma ulaşır.

## 4. Üretim Mimarisi Yönergeleri
- **Finansal Bakiyeler ve Stok Yönetimi:** Raft quorum ile **CP / PC/EC** zorunlu kılınmalıdır. Bakiye defterlerinde asla çift taraflı bölünmüş yazmaya izin verilmez.
- **Telemetri ve Sosyal Akışlar:** CRDT yapıları ile **AP / PA/EL** mimarisi seçilmelidir. Anlık tutarlılık yerine yüksek verim ve sıfır kesinti hedeflenir.


### Temel Kavramlar & Modeller

- `CAP Theorem`
- `PACELC Theorem`
- `Linearizability`
- `Sequential Consistency`
- `Eventual Consistency`

### Kanon Yüzeyleri & Bağlantılar

- **Kılavuzlar Kütüphanesi**: https://tinycto.tv/tr/distributed-systems/manuals
- **18 Referans Mimarisi**: https://tinycto.tv/tr/distributed-systems/architectures
- **Topoloji & Boyutlandırma Sihirbazı**: https://tinycto.tv/tr/distributed-systems/wizard
- **Teknoloji & Konsensüs Matrisi**: https://tinycto.tv/tr/distributed-systems/matrix

```json
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CAP Teoremi, PACELC Ödünleşimleri & Resmi Tutarlılık Modelleri",
  "description": "Dağıtık uzlaşmanın derin matematiksel temelleri: Brewer’ın CAP teoremi, Abadi’nin PACELC sınıflandırması ve Lineerleştirilebilirlikten Nihai Tutarlılığa uzanan tutarlılık modelleri hiyerarşisi.",
  "inLanguage": "tr",
  "educationalLevel": "Advanced",
  "proficiencyLevel": "Expert",
  "url": "https://tinycto.tv/tr/distributed-systems/manuals/01-cap-pacelc-temelleri"
}
```
