Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web Applications

Published: 28 February 2024 Publication History

Abstract

Many transactions in web applications are constructed ad hoc in the application code. For example, developers might explicitly use locking primitives or validation procedures to coordinate critical code fragments. We refer to database operations coordinated by application code as ad hoc transactions. Until now, little is known about them. This paper presents the first comprehensive study on ad hoc transactions. By studying 91 ad hoc transactions among eight popular open-source web applications, we found that (i) every studied application uses ad hoc transactions (up to 16 per application), 71 of which play critical roles; (ii) compared with database transactions, concurrency control of ad hoc transactions is much more flexible; (iii) ad hoc transactions are error-prone—53 of them have correctness issues, and 33 of them are confirmed by developers; and (iv) ad hoc transactions have the potential for improving performance in contentious workloads by utilizing application semantics such as access patterns. Based on these findings, we discuss the implications of ad hoc transactions to the database research community.

References

[1]
A. Adya. 1999. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. Ph. D. Dissertation. Massachusetts Institute of Technology, USA.
[2]
A. Adya, B. Liskov, and P. O’Neil. 2000. Generalized isolation level definitions. In Proceedings of 16th International Conference on Data Engineering (San Diego, CA, USA) (ICDE’00). IEEE Computer Society, Washington, DC, USA, 67–78.
[3]
Peter Alvaro, Neil Conway, Joseph M. Hellerstein, and William R. Marczak. 2011. Consistency analysis in bloom: A calm and collected approach. In Proceedings of the 5th Biennial Conference on Innovative Data Systems Research (Asilomar, CA, USA) (CIDR’11). 249–260. http://cidrdb.org/cidr2011/Papers/CIDR11_Paper35.pdf
[4]
Timothy Andrews and Craig Harris. 1987. Combining language and database advances in an object-oriented development environment. In Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications (Orlando, Florida, USA) (OOPSLA’87). Association for Computing Machinery, New York, NY, USA, 430–440.
[5]
Malcolm Atkinson, David DeWitt, David Maier, François Bancilhon, Klaus Dittrich, and Stanley Zdonik. 1990. The object-oriented database system manifesto. In Deductive and Object-Oriented Databases, Won Kim, Jean-Marie Nicolas, and Shojiro Nishio (Eds.). North-Holland, Amsterdam, 223–240.
[6]
Atomikos 2023. Atomikos ExtremeTransactions. Retrieved March 24, 2023 fromhttps://www.atomikos.com/Main/ExtremeTransactions
[7]
B. R. Badrinath and Krithi Ramamritham. 1992. Semantics-based concurrency control: Beyond commutativity. ACM Trans. Database Syst. 17, 1 (March 1992), 163–199.
[8]
Peter Bailis, Alan Fekete, Michael J. Franklin, Ali Ghodsi, Joseph M. Hellerstein, and Ion Stoica. 2014. Coordination avoidance in database systems. Proc. VLDB Endow. 8, 3 (Nov. 2014), 185–196.
[9]
Peter Bailis, Alan Fekete, Michael J. Franklin, Ali Ghodsi, Joseph M. Hellerstein, and Ion Stoica. 2015. Feral concurrency control: An empirical investigation of modern application integrity. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (Melbourne, Victoria, Australia) (SIGMOD’15). Association for Computing Machinery, New York, NY, USA, 1327–1342.
[10]
Valter Balegas, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues, and Nuno Preguiça. 2018. IPA: Invariant-preserving applications for weakly consistent replicated databases. Proc. VLDB Endow. 12, 4 (Dec. 2018), 404–418.
[11]
Valter Balegas, Sérgio Duarte, Carla Ferreira, Rodrigo Rodrigues, Nuno Preguiça, Mahsa Najafzadeh, and Marc Shapiro. 2015. Putting consistency back into eventual consistency. In Proceedings of the Tenth European Conference on Computer Systems (Bordeaux, France) (EuroSys’15). Association for Computing Machinery, New York, NY, USA, Article 6, 16 pages.
[12]
Jay Banerjee, Hong-Tai Chou, Jorge F. Garza, Won Kim, Darrell Woelk, Nat Ballou, and Hyoung-Joo Kim. 1987. Data model issues for object-oriented applications. ACM Trans. Inf. Syst. 5, 1 (Jan. 1987), 3–26.
[13]
Daniel Barbará and Hector Garcia-Molina. 1992. The demarcation protocol: A technique for maintaining linear arithmetic constraints in distributed database systems. In Proceedings of the 3rd International Conference on Extending Database Technology: Advances in Database Technology (EDBT’92). Springer-Verlag, Berlin, 373–388.
[14]
Daniel Barbará-Millá and Hector Garcia-Molina. 1994. The demarcation protocol: A technique for maintaining constraints in distributed database systems. The VLDB Journal 3, 3 (Jul. 1994), 325–353.
[15]
Hal Berenson, Phil Bernstein, Jim Gray, Jim Melton, Elizabeth O’Neil, and Patrick O’Neil. 1995. A critique of ANSI SQL isolation levels. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data (San Jose, California, USA) (SIGMOD’95). Association for Computing Machinery, New York, NY, USA, 1–10.
[16]
A. J. Bernstein, P. M. Lewis, and S. Lu. 2000. Semantic conditions for correctness at different isolation levels. In Proceedings of the 16th International Conference on Data Engineering (ICDE’00). IEEE Computer Society, USA, 57.
[17]
Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx
[18]
[19]
Tse-Hsun Chen, Weiyi Shang, Zhen Ming Jiang, Ahmed E. Hassan, Mohamed Nasser, and Parminder Flora. 2014. Detecting performance anti-patterns for applications developed using object-relational mapping. In Proceedings of the 36th International Conference on Software Engineering (Hyderabad, India) (ICSE 2014). Association for Computing Machinery, New York, NY, USA, 1001–1012.
[20]
Chaoyi Cheng, Mingzhe Han, Nuo Xu, Spyros Blanas, Michael D. Bond, and Yang Wang. 2023. Developer’s responsibility or database’s responsibility? Rethinking concurrency control in databases. In Proceedings of the 13th Biennial Conference on Innovative Data Systems Research (Amsterdam, The Netherlands) (CIDR’23). https://www.cidrdb.org/cidr2023/papers/p30-cheng.pdf
[21]
Civilized Discourse Construction Kit. 2021. Discourse. https://github.com/discourse/discourse
[22]
Civilized Discourse Construction Kit. 2021. MiniSql. https://github.com/discourse/mini_sql
[23]
Claire. 2019. Avoid Race Condition when Streaming Deleted Statuses. https://github.com/mastodon/mastodon/pull/10280
[25]
Mohammad Dashti, Sachin Basil John, Amir Shaikhha, and Christoph Koch. 2017. Transaction repair for multi-version concurrency control. In Proceedings of the 2017 ACM International Conference on Management of Data (Chicago, Illinois, USA) (SIGMOD’17). Association for Computing Machinery, New York, NY, USA, 235–250.
[26]
DB-Engines. 2021. DB-Engines Ranking of Relational DBMS. Retrieved Dec. 15, 2021 from https://db-engines.com/en/ranking/relational+dbms
[27]
Akon Dey, Alan Fekete, and Uwe Röhm. 2013. Scalable transactions across heterogeneous NoSQL key-value data stores. Proc. VLDB Endow. 6, 12 (Aug. 2013), 1434–1439.
[28]
Akon Dey, Alan Fekete, and Uwe Röhm. 2015. Scalable distributed transactions across heterogeneous stores. In Proceedings of the 2015 IEEE 31st International Conference on Data Engineering Workshops. (Seoul, Korea) (ICDE’15). IEEE Computer Society, Washington, DC, USA, 125–136.
[29]
[30]
Django Software Foundation. 2021. Django.https://www.djangoproject.com
[31]
Zhiyuan Dong, Chuzhe Tang, Jiachen Wang, Zhaoguo Wang, Haibo Chen, and Binyu Zang. 2020. Optimistic transaction processing in deterministic database. Journal of Computer Science and Technology 35, 2 (March 2020), 382–394.
[32]
Zhiyuan Dong, Zhaoguo Wang, Chuanwei Yi, Xian Xu, Jinyuan Zhang, Jinyang Li, and Haibo Chen. 2023. Database deadlock diagnosis for large-scale ORM-based web applications. In 2023 IEEE 39th International Conference on Data Engineering (ICDE). 2864–2877.
[33]
[34]
Elastic. 2023. Elasticsearch. Retrieved March 24, 2023 from https://github.com/elastic/elasticsearch
[35]
Elastic. 2023. Seata: Simple Extensible Autonomous Transaction Architecture. Retrieved March 24, 2023 from https://github.com/seata/seata
[36]
K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. 1976. The notions of consistency and predicate locks in a database system. Commun. ACM 19, 11 (Nov. 1976), 624–633.
[38]
Hector Garcia-Molina. 1983. Using semantic knowledge for transaction processing in a distributed database. ACM Trans. Database Syst. 8, 2 (June 1983), 186–213.
[39]
Hector Garcia-Molina and Kenneth Salem. 1987. Sagas. SIGMOD Rec. 16, 3 (Dec. 1987), 249–259.
[40]
Jorge F. Garza and Won Kim. 1988. Transaction management in an object-oriented database system. In Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data (Chicago, Illinois, USA) (SIGMOD’88). Association for Computing Machinery, New York, NY, USA, 37–45.
[42]
Goetz Graefe. 2007. Hierarchical locking in B-tree indexes. In Proceedings of The BTW 2007 Conference on Database Systems in Business,Technology and Web (BTW’07), Alfons Kemper, Harald Schöning, Thomas Rose, Matthias Jarke, Thomas Seidl, Christoph Quix, and Christoph Brochhaus (Eds.). Gesellschaft für Informatik e. V., Bonn, 18–42. https://dl.gi.de/20.500.12116/31818
[43]
Goetz Graefe, Mark Lillibridge, Harumi Kuno, Joseph Tucek, and Alistair Veitch. 2013. Controlled lock violation. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data (New York, New York, USA) (SIGMOD’13). Association for Computing Machinery, New York, NY, USA, 85–96.
[44]
Jim Gray, Paul McJones, Mike Blasgen, Bruce Lindsay, Raymond Lorie, Tom Price, Franco Putzolu, and Irving Traiger. 1981. The recovery manager of the system R database manager. ACM Comput. Surv. 13, 2 (June 1981), 223–242.
[45]
Jim Gray and Andreas Reuter. 1992. Transaction Processing: Concepts and Techniques (1st ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
[46]
J. N. Gray, R. A. Lorie, and G. R. Putzolu. 1975. Granularity of locks in a shared data base. In Proceedings of the 1st International Conference on Very Large Data Bases (Framingham, Massachusetts) (VLDB’75). Association for Computing Machinery, New York, NY, USA, 428–451.
[47]
Mark Grechanik, B. M. Mainul Hossain, and Ugo Buy. 2013. Testing database-centric applications for causes of database deadlocks. In Proceedings of the Sixth IEEE International Conference on Software Testing, Verification and Validation (Luxembourg, Luxembourg) (ICST’13). IEEE Computer Society, Washington, DC, USA, 174–183.
[48]
Mark Grechanik, B. M. Mainul Hossain, Ugo Buy, and Haisheng Wang. 2013. Preventing database deadlocks in applications. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (Saint Petersburg, Russia) (ESEC/FSE 2013). Association for Computing Machinery, New York, NY, USA, 356–366.
[49]
The PostgreSQL Global Development Group. 2021. PostgreSQL 13.3 Documentation.
[50]
H2 Database Engine. 2019. Prepared XA transaction lost? https://github.com/h2database/h2database/issues/2347
[51]
Theo Haerder and Andreas Reuter. 1983. Principles of transaction-oriented database recovery. ACM Comput. Surv. 15, 4 (Dec. 1983), 287–317.
[52]
Pat Helland. 2007. Life beyond distributed transactions: An apostate’s opinion. In Proceedings of the 3rd Biennial Conference on Innovative Data Systems Research (Asilomar, CA, USA) (CIDR’07). 132–141. http://cidrdb.org/cidr2007/papers/cidr07p15.pdf
[53]
Pat Helland. 2016. Life beyond distributed transactions: An apostate’s opinion. Queue 14, 5 (Oct. 2016), 69–98.
[54]
Joseph M. Hellerstein and Peter Alvaro. 2020. Keeping CALM: When distributed consistency is easy. Commun. ACM 63, 9 (Aug. 2020), 72–81.
[55]
M. Herlihy. 1990. Apologizing versus asking permission: Optimistic concurrency control for abstract data types. ACM Trans. Database Syst. 15, 1 (March 1990), 96–124.
[56]
Yihe Huang, William Qian, Eddie Kohler, Barbara Liskov, and Liuba Shrira. 2020. Opportunities for optimism in contended main-memory multicore transactions. Proc. VLDB Endow. 13, 5 (Jan. 2020), 629–642.
[58]
J. R. Jordan, J. Banerjee, and R. B. Batman. 1981. Precision locks. In Proceedings of the 1981 ACM SIGMOD International Conference on Management of Data (Ann Arbor, Michigan) (SIGMOD’81). Association for Computing Machinery, New York, NY, USA, 143–147.
[59]
Peter Kraft, Qian Li, Xinjing Zhou, Peter Bailis, Michael Stonebraker, Matei Zaharia, and Xiangyao Yu. 2023. Epoxy: ACID transactions across diverse data stores. Proc. VLDB Endow. 16, 11 (Aug. 2023), 2742–2754.
[60]
Akhil Kumar and Michael Stonebraker. 1988. Semantics based transaction management techniques for replicated data. In Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data (Chicago, Illinois, USA) (SIGMOD’88). Association for Computing Machinery, New York, NY, USA, 117–125.
[61]
H. T. Kung and John T. Robinson. 1981. On optimistic methods for concurrency control. ACM Trans. Database Syst. 6, 2 (June 1981), 213–226.
[62]
Jean-Philippe Lang. 2021. Redmine. https://github.com/redmine/redmine
[63]
Suh-Yin Lee and Ruey-Long Liou. 1996. A multi-granularity locking model for concurrency control in object-oriented database systems. IEEE Trans. Knowl. Data Eng. 8, 1 (1996), 144–156.
[64]
Justin Levandoski, David Lomet, Sudipta Sengupta, Ryan Stutsman, and Rui Wang. 2015. Multi-version range concurrency control in deuteronomy. Proc. VLDB Endow. 8, 13 (Sept. 2015), 2146–2157.
[65]
Cheng Li, João Leitão, Allen Clement, Nuno M. Preguiça, Rodrigo Rodrigues, and Viktor Vafeiadis. 2014. Automating the choice of consistency levels in replicated systems. In Proceedings of the 2014 USENIX Annual Technical Conference (Philadelphia, PA, USA) (USENIX ATC’14), Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association, USA, 281–292.
[66]
Cheng Li, Daniel Porto, Allen Clement, Johannes Gehrke, Nuno Preguiça, and Rodrigo Rodrigues. 2012. Making geo-replicated systems fast as possible, consistent when necessary. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Hollywood, CA, USA) (OSDI’12). USENIX Association, USA, 265–278.
[67]
X/Open Company Limited. 1991. Distributed Transaction Processing: The XA Specification.
[68]
David B. Lomet. 2004. Simple, robust and highly concurrent b-trees with node deletion. In Proceedings of the 20th International Conference on Data Engineering (Boston, MA, USA) (ICDE’04), Z. Meral Özsoyoglu and Stanley B. Zdonik (Eds.). IEEE Computer Society, Washington, DC, USA, 18–27.
[69]
Yandong Mao, Eddie Kohler, and Robert Tappan Morris. 2012. Cache craftiness for fast multicore key-value storage. In Proceedings of the 7th ACM European Conference on Computer Systems (Bern, Switzerland) (EuroSys’12). Association for Computing Machinery, New York, NY, USA, 183–196.
[70]
Microsoft 2017. Designing Transactional Web Applications. Retrieved March 26, 2023 fromhttps://learn.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms524850(v=vs.90)
[73]
Vlad Mihalcea. 2015. High-Performance Java Persistence. Vlad Mihalcea, Romania.
[74]
Vlad Mihalcea, Steve Ebersole, Andrea Boriero, Gunnar Morling, Gail Badner, Chris Cranford, Emmanuel Bernard, Sanne Grinovero, Brett Meyer, Hardy Ferentschik, Gavin King, Christian Bauer, Max Rydahl Andersen, Karel Maesen, Radim Vansa, and Louis Jacomet. 2021. Hibernate ORM 5.5.7.Final User Guide. Red Hat.https://docs.jboss.org/hibernate/orm/5.5/userguide/html_single/Hibernate_User_Guide.html
[75]
C. Mohan. 1990. ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on b-tree indexes. In Proceedings of the 16th International Conference on Very Large Data Bases (VLDB’90). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 392–405.
[76]
C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, and Peter Schwarz. 1992. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17, 1 (Mar. 1992), 94–162.
[77]
C. Mohan and Frank Levine. 1992. ARIES/IM: An efficient and high concurrency index management method using write-ahead logging. In Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data (San Diego, California, USA) (SIGMOD’92). Association for Computing Machinery, New York, NY, USA, 371–380.
[78]
Neha Narula, Cody Cutler, Eddie Kohler, and Robert Morris. 2014. Phase reconciliation for contended in-memory transactions. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (Broomfield, CO) (OSDI’14). USENIX Association, USA, 511–524.
[79]
Thomas Neumann, Tobias Mühlbauer, and Alfons Kemper. 2015. Fast serializable multi-version concurrency control for main-memory database systems. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (Melbourne, Victoria, Australia) (SIGMOD’15). Association for Computing Machinery, New York, NY, USA, 677–689.
[80]
OASIS Web Services Transaction (WS-TX) TC. 2009. Web Services Atomic Transaction (WS-AtomicTransaction). OASIS. https://docs.oasis-open.org/ws-tx/wsat/2006/06
[81]
OASIS Web Services Transaction (WS-TX) TC. 2009. Web Services Coordination (WS-Coordination). OASIS. https://docs.oasis-open.org/ws-tx/wscoor/2006/06
[82]
Patrick E. O’Neil. 1986. The escrow transactional method. ACM Trans. Database Syst. 11, 4 (Dec. 1986), 405–430.
[83]
Oracle. 2020. MySQL 8.0 Reference Manual (Including MySQL NDB Cluster 8.0).
[84]
Thanumalayan Sankaranarayana Pillai, Vijay Chidambaram, Ramnatthan Alagappan, Samer Al-Kiswany, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2014. All file systems are not created equal: On the complexity of crafting crash-consistent applications. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (Broomfield, CO) (OSDI’14). USENIX Association, USA, 433–448.
[85]
Nuno Preguiça, J. Legatheaux Martins, Miguel Cunha, and Henrique Domingos. 2003. Reservations for conflict avoidance in a mobile database system. In Proceedings of the 1st International Conference on Mobile Systems, Applications and Services (San Francisco, California) (MobiSys’03). Association for Computing Machinery, New York, NY, USA, 43–56.
[86]
Dan Pritchett. 2008. BASE: An acid alternative. Queue 6, 3 (may 2008), 48–55.
[87]
Project Concerto. 2021. API Controller did not Implement Order Version Check. https://github.com/spree/spree/issues/10748
[88]
Project Concerto. 2021. Crash while Processing Payments Leads to Unexpected Behavior. https://github.com/spree/spree/issues/10744
[89]
Project Concerto. 2021. Implementation Issue in Order Lock. https://github.com/spree/spree/issues/10697
[90]
Project Concerto. 2021. Mixing Active Record & Mini_sql Leads to Unexpected Behavior.https://meta.discourse.org/t/mixing-active-record-mini-sql-leads-to-unexpected-behavior/176504
[91]
Project Concerto. 2021. A More Efficient Redis Lock.https://meta.discourse.org/t/a-more-efficient-redis-lock/177841
[92]
Project Concerto. 2021. Possible Race Condition when Paying with Store Credit. https://github.com/spree/spree/issues/11284
[93]
Project Concerto. 2021. Race Condition in Downsize_Upload Script.https://meta.discourse.org/t/race-condition-in-downsize-upload-script/177152
[94]
Project Concerto. 2021. Redis lock’s TTL May Leads to Potential Bugs. https://github.com/tootsuite/mastodon/issues/15645
[95]
Project Concerto. 2021. Session Order Lock may be Discarded Unexpectedly. https://github.com/BroadleafCommerce/BroadleafCommerce/issues/2555
[96]
Project Concerto. 2021. Sku Inconsistent Caused by Concurrent Checkout. https://github.com/BroadleafCommerce/BroadleafCommerce/issues/2472
[97]
Calton Pu, Gail E. Kaiser, and Norman C. Hutchinson. 1988. Split-transactions for open-ended activities. In Proceedings of the 14th International Conference on Very Large Data Bases (VLDB’88). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 26–37.
[99]
Rails Core Team. 2021. Ruby on Rails. https://rubyonrails.org
[100]
Red Hat. 2021. Hibernate ORM. https://hibernate.org/orm/
[101]
Manuel Reimer. 1983. Solving the phantom problem by predicative optimistic concurrency control. In Proceedings of the 9th International Conference on Very Large Data Bases (VLDB’83). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 81–88.
[102]
Kun Ren, Jose M. Faleiro, and Daniel J. Abadi. 2016. Design principles for scaling multi-core OLTP under high contention. In Proceedings of the 2016 International Conference on Management of Data (San Francisco, California, USA) (SIGMOD’16). Association for Computing Machinery, New York, NY, USA, 1583–1598.
[103]
Willem Renzema. 2016. Willem Renzema’s Answer to “How to Properly use Transactions and Locks to Ensure Database Integrity?”. Retrieved March 26, 2023 from https://stackoverflow.com/a/40773638
[104]
Resolve Digital. 2021. Refinery CMS. https://github.com/refinery/refinerycms
[105]
Eugen Rochko. 2019. Comments on Commit a359be23. https://github.com/mastodon/mastodon/pull/4642/commits/
a359be23a3c26fe7a824ce9bb0f1faaaac3d02b6#r134231414
[106]
Eugen Rochko and other Mastodon contributors. 2021. Mastodon. https://github.com/mastodon/mastodon
[107]
Sudip Roy, Lucja Kot, Gabriel Bender, Bailu Ding, Hossein Hojjat, Christoph Koch, Nate Foster, and Johannes Gehrke. 2015. The homeostasis protocol: Avoiding transaction coordination through program analysis. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (Melbourne, Victoria, Australia) (SIGMOD’15). Association for Computing Machinery, New York, NY, USA, 1311–1326.
[108]
Saleor Commerce. 2021. Saleor Commerce. https://github.com/saleor/saleor
[109]
Seata 2023. Application Model and Scenario Analysis for TCC Mode (in Chinese). Retrieved March 26, 2023 from http://seata.io/zh-cn/blog/tcc-mode-applicable-scenario-analysis.html
[110]
Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. Conflict-free replicated data types. In Stabilization, Safety, and Security of Distributed Systems, Xavier Défago, Franck Petit, and Vincent Villain (Eds.). Springer Berlin, Berlin, 386–400.
[111]
Liuba Shrira, Hong Tian, and Doug Terry. 2008. Exo-leasing: Escrow synchronization for mobile clients of commodity storage servers. In Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware (Leuven, Belgium) (Middleware’08). Springer-Verlag, Berlin, 42–61.
[112]
A. Silberschatz, H. F. Korth, and S. Sudarshan. 2011. Database System Concepts. McGraw-Hill, New York, NY, USA. 2009039039
[113]
Spree Commerce. 2021. Spree Commerce. https://spreecommerce.org
[114]
Spring 2023. Spring Framework Data Access. Retrieved March 24, 2023 from https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html
[115]
Stripe 2023. Stripe, Payment Processing Platform for the Internet. Retrieved March 24, 2023 from https://stripe.com
[116]
Chuzhe Tang, Zhaoguo Wang, Xiaodong Zhang, Qianmian Yu, Binyu Zang, Haibing Guan, and Haibo Chen. 2022. Ad hoc transactions in web applications: The good, the bad, and the ugly. In Proceedings of the 2022 International Conference on Management of Data (Philadelphia, PA, USA) (SIGMOD’22). Association for Computing Machinery, New York, NY, USA, 4–18.
[117]
Stephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, and Samuel Madden. 2013. Speedy transactions in multicore in-memory databases. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (Farmington, Pennsylvania) (SOSP’13). Association for Computing Machinery, New York, NY, USA, 18–32.
[118]
Jiachen Wang, Ding Ding, Huan Wang, Conrad Christensen, Zhaoguo Wang, Haibo Chen, and Jinyang Li. 2021. Polyjuice: High-performance transactions via learned concurrency control. In 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI 21). USENIX Association, 198–216. https://www.usenix.org/conference/osdi21/presentation/wang-jiachen
[119]
Todd Warszawski and Peter Bailis. 2017. ACIDRain: Concurrency-related attacks on database-backed web applications. In Proceedings of the 2017 ACM International Conference on Management of Data (Chicago, Illinois, USA) (SIGMOD’17). Association for Computing Machinery, New York, NY, USA, 5–20.
[120]
W. E. Weihl. 1988. Commutativity-based concurrency control for abstract data types. IEEE Trans. Comput. 37, 12 (Dec. 1988), 1488–1505.
[121]
Wentang. 2022. How do Cloud Users use Cloud Database Systems? (in Chinese). Retrieved March 24, 2023 fromhttps://zhuanlan.zhihu.com/p/525648427
[122]
Yingjun Wu, Chee-Yong Chan, and Kian-Lee Tan. 2016. Transaction healing: Scaling optimistic concurrency control on multicores. In Proceedings of the 2016 International Conference on Management of Data (San Francisco, California, USA) (SIGMOD’16). Association for Computing Machinery, New York, NY, USA, 1689–1704.
[123]
Weiwei Xiong, Soyeon Park, Jiaqi Zhang, Yuanyuan Zhou, and Zhiqiang Ma. 2010. Ad hoc synchronization considered harmful. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (Vancouver, BC, Canada) (OSDI’10). USENIX Association, USA, 163–176.https://www.usenix.org/conference/osdi10/ad-hoc-synchronization-considered-harmful
[124]
X/Open. 1991. Distributed Transaction Processing: The XA Specification.
[125]
Cong Yan, Alvin Cheung, Junwen Yang, and Shan Lu. 2017. Understanding database performance inefficiencies in real-world web applications. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management (Singapore, Singapore) (CIKM’17). Association for Computing Machinery, New York, NY, USA, 1299–1308.
[126]
Junwen Yang, Pranav Subramaniam, Shan Lu, Cong Yan, and Alvin Cheung. 2018. How not to structure your database-backed web applications: A study of performance bugs in the wild. In Proceedings of the 40th International Conference on Software Engineering (Gothenburg, Sweden) (ICSE’18). Association for Computing Machinery, New York, NY, USA, 800–810.
[127]
Junwen Yang, Cong Yan, Pranav Subramaniam, Shan Lu, and Alvin Cheung. 2018. PowerStation: Automatically detecting and fixing inefficiencies of database-backed web applications in IDE. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Lake Buena Vista, FL, USA) (ESEC/FSE’18). Association for Computing Machinery, New York, NY, USA, 884–887.
[128]
Haifeng Yu and Amin Vahdat. 2000. Design and evaluation of a continuous consistency Model for Replicated Services. In Proceedings of the 4th Conference on Symposium on Operating System Design & Implementation - Volume 4 (San Diego, California) (OSDI’00). USENIX Association, USA, Article 21.
[129]
Haifeng Yu and Amin Vahdat. 2002. Design and evaluation of a conit-based continuous consistency model for replicated services. ACM Trans. Comput. Syst. 20, 3 (Aug. 2002), 239–282.
[130]
Xiaodong Zhang. 2021. The Synchronized used to Prevent Concurrency Doesn’t Work as Expected (in Chinese). https://github.com/doublechaintech/scm-biz-suite/issues/17

Index Terms

  1. Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web Applications

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Database Systems
      ACM Transactions on Database Systems  Volume 49, Issue 1
      March 2024
      176 pages
      EISSN:1557-4644
      DOI:10.1145/3613511
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 28 February 2024
      Online AM: 23 December 2023
      Accepted: 05 December 2023
      Revised: 03 September 2023
      Received: 14 April 2023
      Published in TODS Volume 49, Issue 1

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tag

      1. Ad hoc transactions

      Qualifiers

      • Research-article

      Funding Sources

      • National Natural Science Foundation of China

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • 0
        Total Citations
      • 232
        Total Downloads
      • Downloads (Last 12 months)232
      • Downloads (Last 6 weeks)11
      Reflects downloads up to 12 Sep 2024

      Other Metrics

      Citations

      View Options

      Get Access

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      Full Text

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media