Abstract

Correctness of concurrent executions of multiple database transactions is assured by concurrency control techniques. Performance analyses, e.g., [Agr85], show that optimistic concurrency control techniques perform more efficiently than pessimistic techniques when there is low contention for the data and low resource utilization. Otherwise pessimistic techniques perform better. Because the designer of a database system can rarely predict data contention and resource utilization, it is desirable that a database system adaptively select a concurrency control technique at runtime.We present an algorithm for partitioning the collection of active database transactions into a set of clusters. The partitioning algorithm guarantees that there are no data conflicts between transactions to distinct clusters. Different concurrency control techniques can be applied in distinct clusters. Our algorithm uses the number of transactions in a cluster as a measure of data contention. Transactions in newly formed clusters are handled by an optimistic scheduler. When the number of transactions in a cluster exceeds a certain threshold, the cluster becomes pessimistic. Such a cluster's current transactions complete, and then newly entering transactions can begin, managed by a pessimistic scheduler.We have designed data structures to support the efficient maintenance of clusters. We have also begun to develop a theory of correct cluster configurations. We are undertaking a simulation study to compare the performances of pessimistic techniques, optimistic techniques, and our adaptive approach.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.