🤖 AI Summary
This work addresses the performance bottlenecks and resource contention caused by structurally similar yet redundant or conflicting database transactions in high-concurrency scenarios. The authors propose an application-layer transaction merging approach that leverages a middleware system, TransactionMerger, to systematically identify mergeable transactions across clients. By integrating static analysis with SQL semantic rewriting, the method safely eliminates redundant reads, precomputes aggregate results, and preserves transaction isolation. Unlike conventional kernel-level optimizations, this technique operates above the database engine and demonstrates significant throughput improvements—achieving up to 2.65× speedup on TPC-C and 3.52× on Spree, a real-world e-commerce platform—while maintaining correctness and scalability under heavy load.
📝 Abstract
This paper explores a new opportunity to improve the performance of transaction processing at the application side by merging structurely similar statements or transactions. Concretely, we re-write transactions to 1) merge similar statements using specific SQL semantics; 2) eliminate redundant reads; and 3) merge contending statements across transactions by pre-computing their aggregated effect. Following this idea, we present the design of TransactionMerger, a middleware to collect and merge transactions across different clients. We further present a static analysis tool to identify the merging opportunity without violating isolation as well as our experience of re-writing transactions in TPC-C and Spree, a popular real-world application. Our evaluation shows that such transaction merging can improve TPC-C throughput by up to 2.65X and Spree throughput by 3.52X.