A Theory of Transactions on Recoverable Search Trees
We consider transactions running on a database that consists of records with unique totally-ordered keys and is organized as a sparse primary search tree such as a B-tree index on disk storage. We extend the classical read-write model of transactions by considering inserts, deletes and key-range scans and by distinguishing between four types of transaction states: forward-rolling, committed, backward-rolling, and rolled- back transactions. A search-tree transaction is modelled as a two-level transaction containing structure modifications as open nested subtransactions that can commit even though the parent transaction aborts. Isolation conditions are defined for search-tree transactions with nested structure modifications that guarantee the structural consistency of the search tree, a required isolation level (including phantom prevention) for database operations, and recoverability for structure modifications and database operations.
Unable to display preview. Download preview PDF.
- 3.H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O’Neil, and P. O’Neil. A critique of ANSI SQL isolation levels. In: Proc. of the 1995 ACM SIGMOD Internat. Conf. on Management of Data, 1–10.Google Scholar
- 4.P. H. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987.Google Scholar
- 5.J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993.Google Scholar
- 6.D. Lomet. Key range locking strategies for improved concurrency. In: Proc. of the 19th VLDB Conference, 1993, 655–664.Google Scholar
- 8.D. Lomet. MLR: a recovery method for multi-level systems. In: Proc. of the 1992 ACM SIGMOD Internat. Conf. on Management of Data, 185–194.Google Scholar
- 9.D. Lomet. Advanced recovery techniques in practice. In: Recovery Mechanisms in Database Systems (V. Kumar and M. Hsu, eds), Prentice Hall, 1998, 697–710.Google Scholar
- 10.D. Lomet and B. Salzberg. Access method concurrency with recovery. In: Proc. of the 1992 ACM SIGMOD Internat. Conf. on Management of Data, 351–360.Google Scholar
- 12.C. Mohan. Concurrency control and recovery methods for B +-tree indexes: ARIES/KVL and ARIES/IM. In: Performance of Concurrency Control Mechanisms in Centralized Database Systems (V. Kumar, ed), Prentice Hall, 1996, 248–306.Google Scholar
- 13.C. Mohan. ARIES/KVL: a key-value locking method for concurrency control of multiaction transactions operating on B-tree indexes. In: Proc. of the 16th VLDB Conference, 1990, 392–405.Google Scholar
- 15.C. Mohan and F. Levine. ARIES/IM: an efficient and high concurrency index management method using write-ahead logging. In: Proc. of the 1992 ACM SIGMOD Internat. Conf. on Management of Data, 371–380.Google Scholar
- 16.Y. Sagiv. Concurrent operations on B*-trees with overtaking. J. Computer and System Sciences 33 (1986), 275-296.Google Scholar
- 17.H-J. Schek, G. Weikum and H. Ye. Towards a unified theory of concurrency control and recovery. In: Proc. of the 12th ACM SIGACT-SIGMOD-SIGART Symp. on Principles of Database Systems, 1993, 300–311.Google Scholar