Improving the Performance of Read-Only Transactions Through Speculation

A read-only transaction (ROT) does not modify any data. The main issues regarding processing ROTs are correctness, data currency and performance. Two-phase Locking (2PL) protocol is widely used for concurrency control with serializabilty as correctness criteria. Even though 2PL processes ROTs correctly with no data currency related issues, the performance deteriorates as data contention increases. To improve the performance over 2PL, snapshot isolation (SI)-based protocols have been proposed. SI-based protocols process ROTs by reading from a snapshot of the committed data and ignoring the modifications produced by the concurrent active transactions. Even though SI-based algorithms improve the performance of ROTs, both data currency of ROTs and correctness (serializability) are compromised. In this paper, we propose an approach to improve the performance of ROTs using speculation without compromising data currency of transactions and correctness. The proposed approach improves the performance of ROTs by trading extra computing resources without violating serializability as correctness criteria. The simulation results show that with the proposed protocol the throughput performance is improved significantly over 2PL and SI-based approaches with manageable extra resources.

[1]  Patrick E. O'Neil,et al.  Generalized isolation level definitions , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

[2]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[3]  Dimitri Theodoratos,et al.  Data Currency Quality Factors in Data Warehouse Design , 1999, DMDW.

[4]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[5]  Victor C. S. Lee,et al.  Using separate algorithms to process read-only transactions in real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[6]  Hector Garcia-Molina,et al.  Read-only transactions in a distributed database , 1982, TODS.

[7]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[8]  Divyakant Agrawal,et al.  The Performance of Protocols Based on Locks with Ordered Sharing , 1994, IEEE Trans. Knowl. Data Eng..

[9]  B. R. Badrinath,et al.  Performance evaluation of semantics-based multilevel concurrency control protocols , 1990, SIGMOD '90.

[10]  Masaru Kitsuregawa,et al.  Speculative locking protocols to improve performance for distributed database systems , 2004, IEEE Transactions on Knowledge and Data Engineering.

[11]  Hamid Pirahesh,et al.  Efficient and flexible methods for transient versioning of records to avoid locking by read-only transactions , 1992, SIGMOD '92.

[12]  Dennis Shasha,et al.  Making snapshot isolation serializable , 2005, TODS.

[13]  Azer Bestavros,et al.  Value-cognizant Speculative Concurrency Control , 1995, VLDB.

[14]  Marc H. Scholl,et al.  Processing Read-Only Transactions in Hybrid Data Delivery Environments with Consistency and Currency Guarantees , 2003, Mob. Networks Appl..

[15]  Divyakant Agrawal,et al.  Efficient Execution of Read-Only Transactions in Replicated Multiversion Databases , 1993, IEEE Trans. Knowl. Data Eng..

[16]  William Perrizo,et al.  A dual copy method for transaction separation with multiversion control for read-only transactions , 2001, SAC.

[17]  Miron Livny,et al.  Concurrency control performance modeling: alternatives and implications , 1987, TODS.

[18]  Azer Bestavros,et al.  Value-cognizant Speculative Concurrency Control for Real-Time Databases , 1996, Inf. Syst..

[19]  Tei-Wei Kuo,et al.  Evaluation of concurrency control strategies for mixed soft real-time database systems , 2002, Inf. Syst..

[20]  Hector Garcia-Molina,et al.  Altruistic locking , 1994, TODS.