Dağıtık İşlemler (Distributed Transactions)
Birden fazla bağımsız düğüme yayılmış bir dizi veritabanı operasyonunun ya tamamen başarılı (commit) ya da tamamen geri alınmasını (rollback) atomik olarak garantilemek için kullanılan mekanizmalar.
CAP teoremi (Brewer, 2000): Dağıtık sistemler Tutarlılık, Kullanılabilirlik ve Bölünme Toleransı'ndan yalnızca ikisini garanti edebilir.
graph LR
Center["Dağıtık İşlemler (Distributed Transactions)"]:::main
Rel_decentralized_derivatives_pricing_models["decentralized-derivatives-pricing-models"]:::related -.-> Center
click Rel_decentralized_derivatives_pricing_models "/terms/decentralized-derivatives-pricing-models"
Rel_transaction_sharding["transaction-sharding"]:::related -.-> Center
click Rel_transaction_sharding "/terms/transaction-sharding"
Rel_decentralized_exchange_dex_order_book["decentralized-exchange-dex-order-book"]:::related -.-> Center
click Rel_decentralized_exchange_dex_order_book "/terms/decentralized-exchange-dex-order-book"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5 yaşındaki gibi açıkla
Online bir konser bileti satın aldığınızı düşünün. Web sitesinin aynı anda iki şey yapması gerekir: (1) bankanızdan parayı almak, (2) size bileti vermek. Banka bilgisayarı parayı alırsa ama bilet bilgisayarı çökerse, ödeme yaptınız ama hiçbir şey alamadınız. Dağıtık işlem şu kuralı uygular: 'Ya her ikisi de başarılı olur, ya da her ikisi de sanki hiçbir şey olmamış gibi tamamen geri alınır.' Birden fazla bilgisayarda ya hep ya hiç.
🤓 Expert Deep Dive
2PC — Bloke Edici Protokol: Koordinatör tüm YES oylarını aldıktan sonra çökerse, katılımcılar özel kilitlerini süresiz tutar. SAGA Deseni: Her adım T_i, bir telafi işlemi C_i'ye sahiptir. T_3'te hata, C_2 sonra C_1'i çalıştırır. SAGA'lar kullanılabilirlik için İzolasyonu feda eder. HTLC: Alice hash(secret) ile BTC kilitler; Bob aynı hash ile ETH kilitler. Alice secret'ı açıklayarak ETH'yi alırsa, Bob da secret'ı kullanarak BTC'yi alabilir. CAP teoremi: Ağ bölünmesi sırasında Tutarlılık vs Kullanılabilirlik.
❓ Sık sorulan sorular
What is the main problem with Two-Phase Commit (2PC)?
It is a blocking protocol. If the coordinator crashes after collecting all 'YES' votes but before sending the final COMMIT or ABORT decision, all participant nodes freeze, holding database locks indefinitely, until the coordinator recovers.
What is the SAGA pattern and why is it preferred in microservices?
A SAGA breaks a long transaction into smaller local transactions, each with a compensating transaction that undoes it. It avoids distributed locks, making services more available, but sacrifices strict isolation (intermediate states may be visible to other services).
How does a Hash Time Lock Contract (HTLC) enable trustless atomic swaps?
Both parties lock their assets using the same cryptographic secret hash. The first party reveals the secret to claim the other's asset, and this revelation automatically unlocks the secret for the second party to claim the first's asset. If either party doesn't act within the time limit, funds are refunded.