Transactions in Hypertext
Transactions in database systems serve three purposes:
-
they are
logical units that group operations comprising a complete task;
-
they are atomicity units whose execution preserves the consistency of
the database;
-
they are recovery units that ensure that either all the steps enclosed within
them are executed or none.
Short Transactions
Short transactions are needed for saving editing work while continuing a
long editing session. Data are locked in different granularities to prevent
other users from performing conflicting operations on the same set of data.
In databases short transactions use locks to avoid read-write and write-write
conflicts.
In hypertext only write-write conflicts must be avoided.
Long Transactions
User-controlled locking combined with short transactions is a better
solution to long updating sessions than long transactions.
- The logical, atomicity and recovery units are much smaller in
user-controled locking.
- User-controlled (shared) locking does not completely prevent other
users from getting to resources over long periods of time.
- In user-controlled locking, users or applications must explicitly
lock needed resources. Users must be aware of the multiuser situation.