24 24 24 24 24 Vol. 6 No. 4 Journal of Database Management Manuscript originally submitted July 18, 1994; Revised January 18, 1995; Accepted April 12, 1995 for publication. Object-Oriented databases are becoming increasingly popular in business. Issues such as query optimization, analysis and design techniques, and concurrency control have been addressed as they pertain to the relational model but have not been addressed as they apply to the object-oriented model. This paper includes the framework development and description of a concurrency control mechanism named O 2 C 2 which is specifically designed for an object-oriented data- base. O 2 C 2 is a lock–based concurrency control mechanism that forms the basis of this research. A description of database concurrency control and object-oriented database precepts are presented to provide a basis for a comprehensive framework for concurrency control in object-oriented databases. The theory is developed along four specified dimensions which are the hierarchical level dimension, the data type dimension, the composite or complex objects dimension and transaction type dimension. Addition- ally, a comprehensive list of rules is given that are crucial to an object-oriented database concurrency control mechanism. The rules are given to provide a basis not only for the O 2 C 2 mechanism, but for any object-oriented database concurrency control mechanism. The O 2 C 2 mechanism is then presented after which a discussion ensues about the possible transaction types in order to demonstrate the robustness of the mecha- nism. Concurrency control (CC) is defined by Bernstein et al. (1987) as follows: “concurrency control is the activity of coordinating the actions of processes that operate in parallel, access shared data, and therefore potentially interfere with each other.” In other words, CC mechanisms interleave the operations of competing processes in such a way that consis- tency is maintained. It is also one of a few critical components of a database management system. A few basic approaches to concurrency control have been proposed and developed in the database area. Based on these approaches, several hundred of algorithms have been created (Barghouti & Kaiser, 1991; Bernstein, et al., 1987). However, very few of these address object–oriented databases. The concurrency control mechanism O 2 C 2 , described in this research contributes in two important ways. First, the concurrency control mechanism O 2 C 2 is presented along with how it relates to the developed framework. O 2 C 2 is lock– based and two–phased but is more complex than standard algorithms in order to deal with the complexities of object– oriented databases. Second, it adds to the body of theory that explains the objectives, problems, and tradeoffs in the area of concurrency control for object–oriented databases by compar- ing it to the mechanisms in ORION and O 2 . The advantages of O 2 C 2 include a higher degree of concurrency than current implementations. It is superior to other approaches because more transactions are allowed to process at the same time due to fewer conflicting lock types and a finer granularity of lock types. In a majority of circum- stances, the higher degree of concurrency yielded by O 2 C 2 results in higher throughput which translates into better per- Towards a Comprehensive Towards a Comprehensive Towards a Comprehensive Towards a Comprehensive Towards a Comprehensive Concurrency Control Mechanism for Concurrency Control Mechanism for Concurrency Control Mechanism for Concurrency Control Mechanism for Concurrency Control Mechanism for Object-Oriented Databases Object-Oriented Databases Object-Oriented Databases Object-Oriented Databases Object-Oriented Databases David H. Olsen University of Akron Sudha Ram University of Arizona