The Transaction Concept: Virtues and Limitations

Jim Gray

One line summary:

This papers presents an overview of the general properties of a transaction. It also talks about some problems which need to be solved. (in 1981)

What is a transaction?

NonStop:

How to get atomicity and durability? Build a perfect system!
But only need an "almost perfect" system: How to build a very reliable system?

Update in place:

According to accounting principles, update-in-place is bad because there is no history on the changes made.
Solutions:
Time-domain Addressing: (also called version oriented system)
Each objects is not updated but "evolved" to have some additional info. Object addresses become , so that it is possible to retrieve the state of an object at any time in the past. Locking and logging:
Allows undo and redo of actions by keeping an entry for each action in a log. The log should be kept in stable storage to avoid losing log entries in case of a system crash.
Some terminology: Implementations of locking:

Limitations:

I think these limitations have been investigated by various research groups.