Abstract
Recent trends in memory sizes, combined with a demand for high-performance data management facilities, have led to the emergence of database support for managing memory-resident data as a topic of interest. In this paper we address the concurrency control problem for main memory database systems. Because such systems differ significantly from traditional database systems in terms of their cost characteristics, existing solutions to the problem are inappropriate; we present a new scheme based on two-phase locking that minimizes the overhead associated with concurrency control without overly limiting opportunities for concurrently executing transactions. We accomplish this by allowing the granularity of locking to vary dynamically in response to changes in the level of inter-transaction conflicts. Unlike hierarchical locking schemes, however, we avoid the expense of setting locks at multiple levels of a granularity hierarchy. We present a simple empirical analysis, based on instruction counts, to validate our claims.
This research was partially supported by an IBM Fellowship, an IBM Faculty Development Award, and National Science Foundation Grant Number DCR-8402818.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
7 References
R. Agrawal, M. Carey, and M. Livny, “Models for Studying Concurrency Control Performance: Alternatives and Implications,” Proc. ACM SIGMOD Conf., May 1985.
R. Agrawal, M. Carey, and L. McVoy, “The Performance of Alternative Strategies for Dealing with Deadlocks in Database Management Systems,” IEEE Trans. on Software Eng., December 1987
Anon et al. “A measure of Transaction Processing Power”, Datamation, Vol 31, No 7, April 1, 1985.
P. Bernstein and N. and Goodman, “Concurrency Control in Distributed Database Systems,” ACM Computing Surveys 13, 2, June 1981.
M. Blasgen, J. Gray, M. Mitoma, and T. Price, “The Convoy Phenomenon,” Operating Systems Review 13, 2 April 1979.
M. Carey, “An Abstract Model of Database Concurrency Control Algorithms,” Proc. ACM SIGMOD Conf., May 1983.
M. Carey and M. Stonebraker, “The Performance of Concurrency Control Algorithms for Database Management Systems,” Proc. 10th VLDB Conf., August 1984.
K. Eswaran, J. Gray, R. Lorie, and I. Traiger, “The Notions of Consistency and Predicate Locks in a Database System,” CACM 19, 11, November 1976.
S. Ghandehari (implementor of the GAMMA database machine lock manager), Personal communication, February 1989.
J. Gray, “Notes on Database Operating Systems,” Operating Systems, An Advanced Course, vol. 60, Springer-Verlag, New York, 1978.
J. Gray, Personal communication, February 1989.
S. Horwitz and T. Teitelbaum, “Relations and Attributes: A Symbiotic Basis for Editing Environments,” Proc. ACM SIGPLAN Conf. on Lang. Issues in Prog. Env., June 1985.
J. Jordan, J. Bannerjee, and R. Batman, “Precision Locks”, Proc. ACM SIGMOD Conf., May 1981.
B. Lampson, “An Open Operating System for a Single-User Machine,” Proc. of 7th Symp. on Operating Systems Principles, Pacific Grove, Calif., December 1979.
T. Lehman and M. Carey, “Query Processing in Main Memory Database Management Systems,” Proc. ACM SIGMOD Conf., May 1986.
T. Lehman, “Design and Performance Evaluation of a Main Memory Relational Database System,” Ph.D. Dissertation, University of Wisconsin-Madison, August 1986.
T. Lehman and M. Carey, “A Study of Index Structures for Main Memory Database Management Systems,” Proc. 12th Conf. Very Large Data Bases, August 1986.
T. Lehman and M. Carey, “A Recovery Algorithm for a High-Performance Memory-Resident Database System,” Proc. ACM SIGMOD Conf., May 1987.
T. Lehman and M. Carey, A Concurrency Control Algorithm for Memory-Resident Database System, IBM Technical Report, April 1989.
K. Li and J.F. Naughton, “Multiprocessor Main Memory Transaction Processing,” Proc. Int. Symp. on Databases in Parallel and Distributed Systems, December 1988.
Bruce Lindsay, Personal Communication, November 1985.
M. Linton, “Implementing Relational Views of Programs”, Proc. ACM SIGSOFT-SIGPLAN Symp. on Practical Software Development Environments, April 1984.
M.L. Powell and M.A. Linton, “Database Support for Programming Environments,” Proc. ACM SIGMOD Database Week, 1983.
D. Ries and M Stonebraker, “Locking Granularity Revisited”, ACM TODS 4, 2, June 1979.
K. Salem and H. Garcia-Molina, Crash Recovery Mechanisms for Main Storage Database Systems, Tech. Rep. No. CS-TR-0340-86, CS Dept., Princeton Univ., April 1986.
R. Snodgrass, “Monitoring in a Software Development Environment: A Relational Approach,” Proc. ACM SIGSOFT-SIGPLAN Symp. on Practical Soft. Dev. Env., April 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lehman, T.J., Carey, M.J. (1989). A concurrency control algorithm for memory-resident database systems. In: Litwin, W., Schek, HJ. (eds) Foundations of Data Organization and Algorithms. FODO 1989. Lecture Notes in Computer Science, vol 367. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51295-0_150
Download citation
DOI: https://doi.org/10.1007/3-540-51295-0_150
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51295-0
Online ISBN: 978-3-540-46186-9
eBook Packages: Springer Book Archive