Abstract
Serializable snapshot isolation (SSI) is a promising technique to exploit parallelism for multi-core databases. However, SSI suffers from excessive transaction aborts. Existing remedies have three drawbacks: 1) tracking prohibitively transitive dependencies; 2) aborting on every write-write conflict; and 3) requiring manual annotation on transaction programs.
In this paper, we propose to suppress transaction aborts by reassigning timestamps. We combine static analysis with augmented query plan. In this way, we save both aborts caused by read-write and write-write conflicts, without tracking transitive dependency and annotating transaction programs. As such, our approach does not exhibit drawbacks of existing methods. Extensive experiments demonstrate the effectiveness and practicality of our approach.
Similar content being viewed by others
References
Esmaeilzadeh H, Belm E, Amant R S, Sanharalingam K, Burger D. Power challenges may end the multicore era. Communications of ACM, 2013, 56(2): 93–102
Horikawa T. Latch–free data structures for DBMS: design, implementation, and evaluation. In: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. 2013, 409–420
Ports D R K, Grittner K. Serializable snapshot isolation in PostgreSQL. Proceedings of the VLDB Endowment, 2012, 5(12): 1850–1861
Cahill M J, Röhm U, Fekete A D. Serializable isolation for snapshot databases. ACM Transactions on Database Systems, 2009, 34(4): 20
Revilak S, O’Neil P, O’Neil, E. Precisely serializable snapshot isolation (PSSI). In: Proceedings of the 27th IEEE International Conference on Data Engineering. 2011, 482–493
Berenson H, Bernstein P, Gray J, Melton J, O’Neil E, O’Neil P. A critique of ANSI SQL isolation levels. In: Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data. 1995, 1–10
Adya A. Weak consistency: a generalized theory and optimistic implementations for distributed transactions. Massachusetts Institute of Technology, 1999
Fekete A D, Liarokapis D, O’Neil E, O’Neil P, Shasha D. Making snapshot isolation serializable. ACM Transactions on Database Systems, 2005, 20(2): 492–528
Cahill M J, Röhm U, Fekete A D. Serializable isolation for snapshot databases. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. 2008, 729–738
Finkelstein S. Common expression analysis in database applications. In: Proceedings of the 1982 ACM SIGMOD International Conference on Management of Data. 1982, 235–245
Sellis T K. Multiple–query optimization. ACM Transactions on Database Systems, 1988, 13(1): 23–52
Harizopoulos S, Shkapenyuk V, Ailamaki A. QPipe: a simultaneously pipelined relational query engine. In: Proceedings of the 2005 ACM SIGMOD International Conference on Management of Data. 2005, 383–394
Candea G, Polyzotis N, Vingralek R. A scalable, predictable join operator for highly concurrent data warehouses. Proceedings of the VLDB Endowment, 2009, 2(1): 277–288
Arumugam S, Dobra A, Jermaine C M, Pansare N, Perez L. The DataPath system: a data–centric analytic processing engine for large data warehouses. In: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data. 2010, 519–530
Giannikis G, Alonso G, Kossmann D. SharedDB: killing one thousand queries with one stone. Proceedings of the VLDB Endowment, 2012, 5(6): 526–537
Chavan M, Guravannavar R, Ramachandra K, Sudarshan S. DBridge: a program rewrite tool for set–oriented query execution. In: Proceedings of the 27th IEEE International Conference on Data Engineering. 2011, 1284–1287
Guravannavar R, Sudarshan S. Rewriting procedures for batched bindings. Proceedings of the VLDB Endowment, 2008, 1(1): 1107–1123
Cheung A, Madden S, Solar–Lezama A. Sloth: being lazy is a virtue (when issuing database queries). In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data. 2014, 931–942
Cheung A, Madden S, Arden, O, Myers A C. Automatic partitioning of database applications. Proceedings of the VLDB Endowment, 2012, 5(11): 1471–1482
Shasha D, Llirbat F, Simon E, Valduriez P. Transaction chopping: algorithms and performance studies. ACM Transactions on Database Systems, 1995, 20(3): 325–363
Bernstein P A, Shipman D W, Rothnie J B. Concurrency control in a system for distributed databases (SDD–1). ACM Transactions on Database Systems, 1980, 5(1): 18–51
Agrawal D, El A A, Jeffers R, Lin L J. Ordered shared locks for realtime databases. The VLDB Journal, 1995, 4(1): 87–126
Xie C, Su C Z, Littley C, Alivisi L, Kapritsos M, Wang Y. Highperformance ACID via modular concurrency control. In: Proceedings of the 25th Symposium on Operating Systems Principles. 2015, 279–294
Yan C, Cheung A. Leveraging lock contention to improve OLTP application performance. Proceedings of the VLDB Endowment, 2016, 9(5): 444–455
Faleiro J M, Thomson A, Abadi D J. Lazy evaluation of transactions in database systems. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data. 2014, 15–26
Roy S, Kot L, Bender G, Ding B L, Hojjat H, Koch C, Foster N, Gehrke J. The homeostasis protocol: avoiding transaction coordination through program analysis. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. 2015, 1311–1326
Bailis P, Fekete A, Franklin M J, Ghodsi A, Hellerstein J M, Stoica I. Coordination avoidance in database systems. Proceedings of the VLDB Endowment, 2014, 8(3): 185–196
Wang Z G, Mu S, Cui Y, Yi H, Chen H B, Li J Y. Scaling multicore databases via constrained parallel execution. In: Proceedings of the 2016 International Conference on Management of Data. 2016, 1643–1658
Stonebraker M, Madden S, Abadi D J, Harizopoulos S, Hachem N, Helland P. The end of an architectural era: (it’s time for a complete rewrite). In: Proceedings of the 33rd International Conference on Very Large Data Bases. 2007, 1150–1160
Faleiro JM, Abadi D J, Hellerstein JM. High performance transactions via early write visibility. Proceedings of the VLDB Endowment, 2017, 10(5): 613–624
Alomari M, Cahill M, Fekete A, Rohm U. The cost of serializability on platforms that use snapshot isolation. In: Proceedings of the 24th IEEE International Conference on Data Engineering. 2008, 576–585
Sirin U, Tözün P, Porobic D, Ailamaki A. Micro–architectural analysis of in–memory OLTP. In: Proceedings of the 2016 International Conference on Management of Data. 2016, 387–402
Acknowledgements
This work was partially supported by the National Key R&D Program of China (2018YFB1004401), and the National Natural Science Foundation of China Key Project (Grant No. 61732014).
Author information
Authors and Affiliations
Corresponding author
Additional information
Ningnan Zhou is currently a PhD student at the School of Information, Renmin University of China. He received his BE degree in Computer Science from Renmin University of China in 2012. His research interests include database system and data mining.
Xiao Zhang is an associated professor at the School of Information, Renmin University of China. He received his PhD degree from Institute of Computing Technology, Chinese Academy of Science, China. His research interests include database system and big data management.
Shan Wang is a professor at the School of Information, Renmin University of China. Her research interests include RDBMS (XDB, KingbaseES), parallel and distributed DBMS(PBase) and main memory DBMS, data warehouse, DB-IR and big data management. She has extensive publications including SIGMOD, VLDB, ICDE, SIGKDD, TKDE and CACM. She was the co-chair of VLDB’02 and honorary chair of SIGMOD’07.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Zhou, N., Zhang, X. & Wang, S. Timestamp reassignment: taming transaction abort for serializable snapshot isolation. Front. Comput. Sci. 13, 1282–1295 (2019). https://doi.org/10.1007/s11704-018-7018-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-018-7018-z