Abstract
We propose an algorithm for executing transactions in object-oriented databases. The object-oriented database model generalizes the classical model of database concurrency control by permitting accesses toclass andinstance objects, by permittingarbitrary operations on objects as opposed to traditional read and write operations, and by allowingnested execution of transactions on objects. In this paper, we first develop a uniform methodology for treating both classes and instances. We then develop a two-phase locking protocol with a new relationship between locks calledordered sharing for an object-oriented database. Ordered sharing does not restrict the execution of conflicting operations. Finally, we extend the protocol to handle objects that execute methods on other objects thus resulting in the nested execution of transactions. The resulting protocol permits more concurrency than other known locking-based protocols.
Similar content being viewed by others
References
R. Agrawal and D.J. Dewitt, “Integrated concurrency control and recovery mechanisms: design and performance evaluation,”ACM Trans. Database Syst., vol. 10, pp. 529–564, 1985.
D. Agrawal and A. El Abbadi, “Locks with constrained sharing,” inProc. Ninth ACM Symp. Principles of Database Syst., 1990, pp. 85–93;J. Comput. Syst. Sci. to appear.
D. Agrawal and A. El Abbadi, “Transaction management in database systems,” inDatabase Transaction Models, Ahmed K. Elmagarmid (Ed.), Morgan Kaufman, 1992, pp. 1–32.
D. Agrawal, A. El Abbadi, and R. Jeffers, “An approach to eliminate transaction blocking in locking protocols,” inProc. ACM Symp. Principles of Database Syst., 1992, pp. 223–235.
D. Agrawal, A. El Abbadi, and A.E. Lang, “Performance characteristics of protocols with ordered shared locks,” inProc. Seventh IEEE Int. Conf. Data Engineering, 1991, pp. 592–601;IEEE Trans. Knowledge Data Engng., to appear.
B.R. Badrinath and K. Ramamritham, “Semantics-based concurrency control: beyond commutativity,”ACM Trans. Database Syst., vol. 17, pp. 163–199, 1992.
F. Bancilhon, G. Barbedette, V. Benzaken, C. Delobel, S. Gamerman, C. Lécluse, P. Pfeffer, P. Richard, and F. Velez, “The design and implementation of O2 an object-oriented database system,” inAdvances in Object-Oriented Database Syst., Springer-Verlag, 1988.
J. Banerjee, W. Kim, H.J. Kim, and H.F. Korth, “Semantics and implementation of schema evolution in object-oriented databases,” inProc. ACM SIGMOD Int. Conf. Management of Data, 1987.
R. Bayer, H. Heller, and A. Reiser, “Parallelism and recovery in database systems,”ACM Trans. Database Syst., vol. 5, pp. 139–156, 1980.
P.A. Bernstein, V. Hadzilacos, and N. Goodman,Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, MA, 1987.
P.A. Bernstein, D.W. Shipman, and W.S. Wong, “Formal aspects of serializability in database concurrency control,”IEEE Trans. Software Engng., vol. 5, pp. 203–216, 1979.
M.J. Carey, S. Krishnamurthi, and M. Livny, “Load control for locking: the ‘half-and-half’ approach,” inProc. Ninth ACM Symp. Principles of Database Syst., 1990, pp. 72–84.
M. Cart and J. Ferrié, “Integrating concurrency control into an object-oriented database system,” inProc. Int. Conf. Extending Data Base Technology, Lecture Notes in Comput. Sci., vol. 416, Springer-Verlag, New York, 1990, pp. 363–376.
A.K. Elmagarmid, “A survey of distributed deadlock detection algorithms,”SIGMOD Rec., vol. 15, pp. 37–45, 1986.
K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger, “The notions of consistency and predicate locks in database system,”Comm. ACM, vol. 19, pp. 624–633, 1976.
J.F. Garza and W. Kim, “Transaction management in an object-oriented data model,” inProc. ACM SIGMOD Int. Conf. Management of Data, 1988, pp. 37–55.
J.N. Gray, “Notes on database systems,” inOperating Systems: An Advanced Course, R. Bayer, R.M. Graham, and G. Seegmuller (Eds.), Lecture Notes in Comput. Sci., vol. 60, Springer-Verlag, New York, 1978, pp. 393–481.
J.N. Gray, “The transaction concept: virtues and limitations,” inProc. 7th Int. Conf. Very Large Data Bases, 1981, pp. 144–154.
T. Hadzilacos and V. Hadzilacos, “Transaction synchronization in object bases,”J. Comput. Syst. Sci., vol. 43, pp. 2–24, 1991. Special issue on the 7th Annual ACM SIGACT-SIGMOD Symposium on the Principles of Database Systems, March 21–23, 1988.
V. Hadzilacos, “A theory of reliability in database systems.”J. ACM, vol. 35, pp. 121–145, 1988.
T. Härder and A. Reuter, “Principles of transaction-oriented database recovery,”ACM Comput. Surv., vol. 15, pp. 287–317, 1983.
W. Kim, E. Bertino, and J.F. Garza, “Composite objects revisited,” inProc. ACM SIGMOD Int. Conf. Management of Data, 1989, pp. 337–347.
E. Knapp, “Deadlock detection in distributed databases,”ACM Comput. Surv., vol. 19, pp. 303–328, 1987.
H.F. Korth, “Locking primitives in a database system,”J. ACM, vol. 30, pp. 55–79, 1983.
H.T. Kung and J.T. Robinson, “On optimistic methods for concurrency control,”ACM Trans. Database Syst., vol. 6, pp. 213–226, 1981.
C. Lécluse, P. Richard, and F. Velez, “O2, an object-oriented data model,” inProc. ACM SIGMOD Int. Conf. Management of Data, 1988, pp. 424–433.
J.E.B. Moss,Nested Transactions: An Approach to Reliable Distributed Computing, MIT Press, Cambridge, MA, 1985.
R. Obermarck, “Distributed deadlock detection algorithms,”ACM Trans. Database Syst., vol. 7, pp. 187–210, 1982.
C.H. Papadimitriou, “The serializability of concurrent database updates,”J. ACM, vol. 26, pp. 631–653, 1979.
T.C. Rakow, J. Gu, and E.J. Neuhold, “Serializability in object-oriented database systems,” inProc. Sixth IEEE Int. Conf. Data Engineering, 1990, pp. 112–120.
P.M. Schwarz and A.Z. Spector, “Synchronizing shared abstract types,”ACM Trans. Comput. Syst. vol. 2, pp. 223–250, 1984.
M. Singhal, “Deadlock detection in distributed systems,”IEEE Comput., vol. 22 pp. 37–48, 1989.
R.E. Stearns and D.J. Rosenkrantz, “Distributed database concurrency control using before-values,” inProc. ACM SIGMOD Conf. Management of Data, 1981, pp. 74–83.
Y.C. Tay,Locking Performance in Centralized Databases, Academic Press, 1987.
A. Thomasian, “Performance limits of two phase locking,” inProc. Seventh Int. Conf. Data Engineering, 1991, pp. 426–435.
J.S.M. Verhofstad, “Recovery techniques for database systems,”ACM Comput. Surv., vol. 10, pp. 167–196, 1978.
W.E. Weihl, “Local atomicity properties: modular concurrency control for abstract data types,”ACM Trans. Program. Lang. Syst., vol. 11, pp. 249–283, 1989.
W.E. Weihl, “The impact of recovery on concurrency control,” inProc. Eighth ACM Symp. Principles of Database Syst., pp. 259–269, 1989, J. Comput. Syst. Sci., to appear.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Agrawal, D., El Abbadi, A. A nonrestrictive concurrency control protocol for object-oriented databases. Distrib Parallel Databases 2, 7–31 (1994). https://doi.org/10.1007/BF01263337
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01263337