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ą.
W klastrach dzieje się tak, gdy podział sieci zostawia dwa węzły, z których każdy uważa się za główny; oba przyjmują zapisy, a późniejsze scalanie gubi dane. Tam zapobiegają temu kworum i fencing. To samo dzieje się na poziomie architektury, gdy obok starego systemu buduje się nowy i oba przyjmują edycje: każdy rekord ma dwie wersje i ktoś musi rozstrzygać, która jest dobra, często ręcznie i latami.
Powiązane hasła
- Event sourcing: Zapisywanie każdej zmiany jako zdarzenia w dzienniku, do którego tylko się dopisuje, i odtwarzanie bieżącego stanu przez ich odtworzenie, zamiast trzymać tylko ostatni stan.
- 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.
- Wzorzec strangler fig: Zastępowanie starego systemu kawałek po kawałku, kierując po jednej funkcji do nowego kodu, aż stary system da się wyłączyć.
