Eirich, Thomas
:
The ACID-Fission.
Erlangen:
FAU.
1994
TR-I4-94-09.- Interner Bericht.
Abstract:
Transactions are a well-known and useful computational concept. They
embody a concoction of specific computational guarantees usually
symbolized by the acronym ACID. ACID transactions exhibit some
deficiencies. First, isolation complicates cooperation. Second,
atomicity is detrimental to long running computations. Third, the user
has to buy either all or none of a transaction's computational
guarantees. Approaches to the first two problems are extended
transaction models which weaken the strict isolation and atomicity of
ACID. For the third problem there is only few work. Common to all these
solutions is the unawareness of non-transactional computing. In
operating systems and networking environments applications are often
reactive. But transactional models do not match the requirements of
reactive applications. The acronym ACID is broken up into its
elements. The results of this fission are pairs of orthogonal
computational guarantees. Guarantees from different pairs can be freely
combined. Users can employ exactly those which perfectly match the
needs of their applications. We show that extended transaction models
can be easily implemented with the proposed guarantees. Because these
different extended models are based on the same set of computational
guarantees they can be mixed. E.g. nested transactions can be employed
in sagas and vice versa. Furthermore, we show that the requirements of
reactive applications are also met and illustrate this by sketching the
implementation of two typical reactive problems.