Object-centered concurrency control for object-oriented databases
Hossein Hakimzadeh
Abstract
Hossein Hakimzadeh
Abstract
An object-centered approach to concurrency control is introduced in this dissertation. This method combines the use of object semantics, encapsulation, natural class hierarchy, and Request Order Linked List (ROLL) concurrency control (Perr91a) to improve database performance and resource utilization. The lack of a specific concurrency control algorithm for object-oriented databases was the motivating factor for our research. The object-centered approach provides three major benefits. First, it shifts some of the task of concurrency control to the object itself. Second, it provides an efficient method for implementing very fine level granularity (attribute or instance variable) locking. Third, it moves away from a centralized and monolithic scheduler to a set of highly parallel, cooperative transaction managers. This dissertation describes the design and implementation of Object-Centered ROLL as well as Two Phase Locking (2PL) concurrency control algorithms. The performance of each algorithm was measured and compared under various work load conditions. The OC-ROLL algorithm is serializable and provides the mechanism for implementing global and local serializability, ensuring transaction correctness and reducing transaction conflicts. The proof of correctness has also been provided. Performance results showed that OC-ROLL algorithm performs best under high contention or long duration transaction environments, where transactions often wait in an idle or blocked state or are aborted due to deadlocks. Under low contention or short transactions, with nominal restarts, 2PL only marginally outperforms OC-ROLL. Under a mixed-size transaction environment, OC-ROLL performs at least as well as 2PL; however, if there is an unusually high number of restarts by 2PL, then OC-ROLL out performs 2PL.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
An object-centered approach to concurrency control is introduced in this dissertation. This method combines the use of object semantics, encapsulation, natural class hierarchy, and Request Order Linked List (ROLL) concurrency control (Perr91a) to improve database performance and resource utilization. The lack of a specific concurrency control algorithm for object-oriented databases was the motivating factor for our research. The object-centered approach provides three major benefits. First, it shifts some of the task of concurrency control to the object itself. Second, it provides an efficient method for implementing very fine level granularity (attribute or instance variable) locking. Third, it moves away from a centralized and monolithic scheduler to a set of highly parallel, cooperative transaction managers. This dissertation describes the design and implementation of Object-Centered ROLL as well as Two Phase Locking (2PL) concurrency control algorithms. The performance of each algorithm was measured and compared under various work load conditions. The OC-ROLL algorithm is serializable and provides the mechanism for implementing global and local serializability, ensuring transaction correctness and reducing transaction conflicts. The proof of correctness has also been provided. Performance results showed that OC-ROLL algorithm performs best under high contention or long duration transaction environments, where transactions often wait in an idle or blocked state or are aborted due to deadlocks. Under low contention or short transactions, with nominal restarts, 2PL only marginally outperforms OC-ROLL. Under a mixed-size transaction environment, OC-ROLL performs at least as well as 2PL; however, if there is an unusually high number of restarts by 2PL, then OC-ROLL out performs 2PL.
Key concepts: Serializability, Computer science, Optimistic concurrency control, Concurrency control, Distributed concurrency control, Two-phase locking, Distributed computing, Timestamp-based concurrency control