kicsit leegyszerűsíted a képet. Ha csak olyan tranzakciókról lenne szó, amik mindig 2 számla között zajlanak, még talán megoldható a dolog.
Viszont általában egy-egy számlaszámhoz tartoznak még technikai számlák, illetve globális technikai számlák is, amiket ilyenkor is módosítani kell.
Vannak olyan műveletek, amiket a teljes aktív számlatartományon kell elvégezni. Pl. időszaki zárási folyamatok, statisztika, stb.
Ezeket ezres nagysgágú szerver esetén baromi nehéz kopnzisztensen összehangolni. Főleg azért, mert ezek nagy része adott időn belül kell, hogy megtörténjen.
Pl. bankközi utalásoknál az esti zárási folyamat után le kell generálni azokat a tételeket a teljes adatbázisból, amik az éjszakai giro küldéskor kimennek a bankközi elszámoló rendszer felé, majd pár órán belül az elszámoló rendszerből érkező tételek fogadásakor ismét update-elni kell a teljes adatbázist, szintén egy adott időn belül.
Ha bármelyik adatbázisszerver kiesik egy-egy ilyen műveletkor, akkor legjobb esetben is kicsúszol az időből, rossz esetben meg totál szétcsúszik a teljes adatbázis.
Egy ilyen több száz node ból álló rendszer üzemeltetése egy rémálom, mert ha bármilyen hiba miatt vissza kell görgetni az adabázist, vagy mentésből visszatölteni 1-1 szervert több száz szerveren kell elvégezni a rolback-ot, vagy kihámozni, hogy 1 elem kiesése milyen más szerverek adatállományát érintette.
Nem azt mondom, hogy lehetetlen megcsinálni egy ilyen elosztott rendszert, de jóval egyszerűbben és olcsóbban kijön az ember, ha beállít 1-2 nagy vasat 80-100 processzorral, meg 2-300 GB memóriával.