Skip to Main Content
The performance modeling described in this paper compares several protocols which ensure that a database can be recovered to a consistent state after a transaction failure or system crash. The contributions of the paper include a collection of simple analytic models, based on Markov processes, for these protocols and some surprising results on the relative performance of the protocols. We consider only two-stage transactions (all reads before writes) and ignore effects of serializing transactions. The most interesting performance result presented is that, for systems obeying the assumptions of this paper, the "pessimistic" policy of holding write locks to commit point is considerably less efficient than the "optimistic" policy which allows reading of uncommitted data, but risks cascading aborts. A multiversion policy introduced in  was also studied and found always to be nearly as good as the optimistic policy and sometimes much better.