Transakcja rozproszona
Transakcja obejmująca kilka baz lub usług. Klasyczne rozwiązanie: 2PC (Two-Phase Commit) przez protokół XA. Znana ze złożoności: awaria koordynatora oznacza zawieszone transakcje, a wydajność cierpi przez liczbę rund komunikacji.
Przykłady: przelew między dwoma bankami, realizacja zamówienia obejmująca bazę zamówień i magazynu. Współczesne mikroserwisy unikają transakcji rozproszonych — stosują wzorzec Saga (akcje kompensujące) lub event sourcing. Koordynatory XA: Atomikos, Narayana (JBoss), MS DTC. PostgreSQL obsługuje XA przez Javę/JTA. Spanner i CockroachDB czynią transakcje rozproszone przezroczystymi dzięki Paxos/Raft. Kompromis z twierdzenia CAP: silna spójność między węzłami oznacza gorszą dostępność podczas partycjonowania sieci.