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.
Repliki do odczytu, cache, indeksy wyszukiwania i modele odczytu w CQRS zawsze trochę spóźniają się za źródłem. Użytkownik zapisuje formularz, a lista dalej pokazuje starą wartość; raport nie widzi ostatniej minuty. Na wielu ekranach to w porządku, na innych błąd, np. przy saldzie sprawdzanym przed wypłatą. Praca projektowa polega na decyzji, które odczyty muszą iść ze źródła i jak interfejs tłumaczy opóźnienie.
Powiązane hasła
- CQRS (rozdzielenie zapisu i odczytu): Podział systemu na stronę zapisu, która zmienia dane, i osobną stronę odczytu ułożoną pod zapytania, synchronizowane zdarzeniami.
- 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ć.
