1. Atomicita (transakce se považuje za nedělitelnou činnost) – celá posloupnost činností tvořících transakci se buď provede zcela nebo se neprovede žádná činnost
2. Konzistence (transakce převádí systém z jednoho konzistentního stavu do druhého)
3. Izolace (transakce „vidí“ na systému pouze konzistentní stavy, jiné stavy jsou skryty)
4. Trvalost – pokud dojde k dokončení transakce (COMMIT), výsledky jejího provedení se trvale vepíší do souboru
Může se stát (narušení atomicity):
- porucha systému
- při souběžném provádění transakcí na stejném souboru by mohlo dojít k situaci, kdy jedna transakce získá přístup k nekonzistentnímu stavu Þ zajištění souběžného provádění transakcí (jedná se o problém synchronizace)
Příklad: Souběžné provádění transakcí na souboru
Uzel T provádí transakci T
Uzel U provádí transakci U
Transakce T: Transakce U:
čtení zůstatku (a) konta A čtení zůstatku (c) konta C
čtení zůstatku (b) konta B zápis nového zůstatku (c+3) na konto C
zápis nového zůstatku (a-2) na konto A čtení zůstatku (b) konta B
zápis nového zůstatku (b+2) na konto B zápis nového zůstatku (b-3) na konto B
Žádné komentáře:
Okomentovat