Improving the concurrency of integrity checks and write operations
Transaction synchronization and integrity control have the goal to preserve correctness of the database. Transactions which intend to modify the database perform integrity checks, which can be considered as a specific kind of read operations. These integrity checks (like other read operations) have to be synchronized with write operations of concurrent transactions. Since integrity checks often access large parts of the database, the synchronization of integrity checks with write operations is a major bottle-neck of transaction synchronization. We show that the synchronization of integrity checks with write operations of concurrent transactions can be substantially improved so that it allows for more parallelism.
The key idea of the improvement is that the scheduler uses the knowledge of whether or not a read operation is used for integrity checking, and if so, then the scheduler allows for more parallelism with write operations of concurrent transactions.
The improvement presented achieves a higher transaction concurrency and can be combined with other integrity check optimization techniques. Furthermore, the improvement is adaptable to various synchronization techniques, e.g. physical and predicative locking and validation. A scheduler using the presented improvement for both predicative locking and predicative validation is implemented within the DBPL database system which was developed at the University of Frankfurt.
KeywordsSpecific Operation Integrity Constraint Concurrency Control Read Operation Execution Order
Unable to display preview. Download preview PDF.
- [Bernstein and Blaustein, 1982]P.A. Bernstein and B. Blaustein. Fast methods for testing quantified relational calculus assertions. In Proceedings of the ACM SIGMOD International Conference, 1982.Google Scholar
- [Bernstein et al., 1987]P.A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
- [Böttcher, 1989]S. Böttcher. Prädikative Selektion als Grundlage für Transaktionssynchronisation und Datenintegrität. PhD thesis, FB Informatik, Univ. Frankfurt, 1989.Google Scholar
- [Böttcher, 1990]S. Böttcher. Attribute inheritance implemented on top of a relational database system. In M. Liu, editor, Proc. 6 th International Conference on Data Engineering, Los Angeles, California, USA, 1990.Google Scholar
- [Böttcher et al., 1986]S. Böttcher, M. Jarke, and J.W. Schmidt. Adaptive predicate managers in database systems. In Proceedings of the 12 th International Conference on Very Large Data Bases, Kyoto, Japan, 1986.Google Scholar
- [Eckhardt et al., 1985]H. Eckhardt, J. Edelmann, J. Koch, M. Mall, and J. W. Schmidt. Draft Report on the Database Programming Language DBPL. DBPL-Memo 091-85, Univ. Frankfurt, 1985.Google Scholar
- [Eswaran et al., 1976][Eswaran et al., 1976] K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger. The notions of consistency and predicate locks in a database system. Communications of the ACM, 19(11), 1976.Google Scholar
- [Nicolas, 1982]
- [Papadimitriou, 1986]C.H. Papadimitriou. The Theory of Database Concurrency Control. Computer Science Press, Rockville, 1986.Google Scholar
- [Reimer, 1983]M. Reimer. Solving the phantom problem by predicative optimistic concurrency control. In Proceedings of the 9 th International Conference on Very Large Data Bases, Firence, Italy, 1983.Google Scholar
- [Schmidt and Matthes, 1990]J.W. Schmidt and F. Matthes. DBPL Language and System Manual. In. Document, Univ. Hamburg, 1990.Google Scholar
- [Schmidt et al., 1988]J.W. Schmidt, H. Eckhardt, and F. Matthes. DBPL Report. DBPL-Memo 111-88, Univ. Frankfurt, 1988.Google Scholar
- [Simon and Valduriez, 1987]E. Simon and P. Valduriez. Design and Analysis of a Relational Integrity Subsystem. Technical Report Number DB 015-87, MCC, 1987.Google Scholar