Twierdzenie CAP (i PACELC)
Gdy sieć dzieli rozproszoną bazę, musi ona wybrać między odpowiadaniem na każde zapytanie a zwracaniem zawsze najnowszych danych.
CAP to spójność, dostępność i odporność na podział sieci; skoro podziały i tak się zdarzają, prawdziwy wybór w ich trakcie to spójność albo dostępność. PACELC dokłada przypadek codzienny: w przeciwnym razie, gdy sieć działa, wymieniasz opóźnienie na spójność, np. czekając na repliki w innych regionach. Wyjaśnia, dlaczego baza reklamowana jako szybka i globalnie rozproszona gdzieś domyślnie czyta nieaktualne dane.
Powiązane hasła
- Spójność ostateczna (eventual consistency): Gwarancja, że kopie danych zgodzą się ze sobą, gdy przestaną napływać zmiany, ale w międzyczasie mogą chwilowo pokazywać różne wartości.
- Split-brain: Dwie części systemu uważają, że to one mają prawdę, i niezależnie przyjmują zmiany, więc ich dane się rozjeżdżają.
- Commit dwufazowy (2PC): Protokół, w którym koordynator prosi każdą bazę o przygotowanie zmiany, a potem każe wszystkim ją zatwierdzić albo wszystkim wycofać.
