{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,18]],"date-time":"2026-02-18T22:59:49Z","timestamp":1771455589892,"version":"3.50.1"},"reference-count":17,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2023,6,7]],"date-time":"2023-06-07T00:00:00Z","timestamp":1686096000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGMOD Rec."],"published-print":{"date-parts":[[2023,6,7]]},"abstract":"<jats:p>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 8 popular open-source web applications, we find 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 to improve performance in contentious workloads by utilizing application semantics such as access patterns. Finally, implications of ad hoc transactions to the database research community are discussed.<\/jats:p>","DOI":"10.1145\/3604437.3604440","type":"journal-article","created":{"date-parts":[[2023,6,8]],"date-time":"2023-06-08T22:22:01Z","timestamp":1686262921000},"page":"7-15","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Ad Hoc Transactions: What They Are and Why We Should Care"],"prefix":"10.1145","volume":"52","author":[{"given":"Chuzhe","family":"Tang","sequence":"first","affiliation":[{"name":"Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhaoguo","family":"Wang","sequence":"additional","affiliation":[{"name":"Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xiaodong","family":"Zhang","sequence":"additional","affiliation":[{"name":"Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qianmian","family":"Yu","sequence":"additional","affiliation":[{"name":"Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Binyu","family":"Zang","sequence":"additional","affiliation":[{"name":"Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Haibing","family":"Guan","sequence":"additional","affiliation":[{"name":"Shanghai Key Laboratory of Scalable Computing and Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Haibo","family":"Chen","sequence":"additional","affiliation":[{"name":"Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,6,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"SIGMOD '15","author":"Bailis P.","unstructured":"P. Bailis , A. Fekete , M. J. Franklin , A. Ghodsi , J. M. Hellerstein , and I. Stoica . Feral concurrency control: An empirical investigation of modern application integrity . In SIGMOD '15 . P. Bailis, A. Fekete, M. J. Franklin, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Feral concurrency control: An empirical investigation of modern application integrity. In SIGMOD '15."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735508.2735509"},{"key":"e_1_2_1_3_1","volume-title":"SIGMOD '17","author":"Dashti M.","unstructured":"M. Dashti , S. Basil John , A. Shaikhha , and C. Koch . Transaction repair for multi-version concurrency control . In SIGMOD '17 . M. Dashti, S. Basil John, A. Shaikhha, and C. Koch. Transaction repair for multi-version concurrency control. In SIGMOD '17."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-020-9700-5"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/360363.360369"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/38714.38742"},{"key":"e_1_2_1_7_1","volume-title":"SIGMOD '81","author":"Jordan J. R.","unstructured":"J. R. Jordan , J. Banerjee , and R. B. Batman . Precision locks . In SIGMOD '81 . J. R. Jordan, J. Banerjee, and R. B. Batman. Precision locks. In SIGMOD '81."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/319566.319567"},{"key":"e_1_2_1_9_1","volume-title":"USENIX ATC '14","author":"Li C.","unstructured":"C. Li , J. Leitao , A. Clement , N. M. Pregui\u00b8ca , R. Rodrigues , and V. Vafeiadis . Automating the choice of consistency levels in replicated systems . In USENIX ATC '14 . C. Li, J. Leitao, A. Clement, N. M. Pregui\u00b8ca, R. Rodrigues, and V. Vafeiadis. Automating the choice of consistency levels in replicated systems. In USENIX ATC '14."},{"key":"e_1_2_1_10_1","volume-title":"OSDI '12","author":"Li C.","unstructured":"C. Li , D. Porto , A. Clement , J. Gehrke , N. Pregui\u00b8ca , and R. Rodrigues . Making geo-replicated systems fast as possible, consistent when necessary . In OSDI '12 . C. Li, D. Porto, A. Clement, J. Gehrke, N. Pregui\u00b8ca, and R. Rodrigues. Making geo-replicated systems fast as possible, consistent when necessary. In OSDI '12."},{"key":"e_1_2_1_11_1","volume-title":"SIGMOD '15","author":"Neumann T.","unstructured":"T. Neumann , T. M\u00a8uhlbauer , and A. Kemper . Fast serializable multi-version concurrency control for main-memory database systems . In SIGMOD '15 . T. Neumann, T. M\u00a8uhlbauer, and A. Kemper. Fast serializable multi-version concurrency control for main-memory database systems. In SIGMOD '15."},{"key":"e_1_2_1_12_1","volume-title":"VLDB '88","author":"Pu C.","unstructured":"C. Pu , G. E. Kaiser , and N. C. Hutchinson . Split-transactions for open-ended activities . In VLDB '88 . C. Pu, G. E. Kaiser, and N. C. Hutchinson. Split-transactions for open-ended activities. In VLDB '88."},{"key":"e_1_2_1_13_1","volume-title":"SIGMOD '22","author":"Tang C.","unstructured":"C. Tang , Z. Wang , X. Zhang , Q. Yu , B. Zang , H. Guan , and H. Chen . Ad hoc transactions in web applications: The good, the bad, and the ugly . In SIGMOD '22 . C. Tang, Z. Wang, X. Zhang, Q. Yu, B. Zang, H. Guan, and H. Chen. Ad hoc transactions in web applications: The good, the bad, and the ugly. In SIGMOD '22."},{"key":"e_1_2_1_14_1","volume-title":"SOSP '13","author":"Tu S.","unstructured":"S. Tu , W. Zheng , E. Kohler , B. Liskov , and S. Madden . Speedy transactions in multicore in-memory databases . In SOSP '13 . S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy transactions in multicore in-memory databases. In SOSP '13."},{"key":"e_1_2_1_15_1","volume-title":"SIGMOD '17","author":"Warszawski T.","unstructured":"T. Warszawski and P. Bailis . ACIDRain: Concurrency-related attacks on database-backed web applications . In SIGMOD '17 . T. Warszawski and P. Bailis. ACIDRain: Concurrency-related attacks on database-backed web applications. In SIGMOD '17."},{"key":"e_1_2_1_16_1","volume-title":"SIGMOD '16","author":"Wu Y.","unstructured":"Y. Wu , C.-Y. Chan , and K.-L. Tan . Transaction healing : Scaling optimistic concurrency control on multicores . In SIGMOD '16 . Y. Wu, C.-Y. Chan, and K.-L. Tan. Transaction healing: Scaling optimistic concurrency control on multicores. In SIGMOD '16."},{"key":"e_1_2_1_17_1","volume-title":"OSDI '10","author":"Xiong W.","unstructured":"W. Xiong , S. Park , J. Zhang , Y. Zhou , and Z. Ma . Ad hoc synchronization considered harmful . In OSDI '10 . W. Xiong, S. Park, J. Zhang, Y. Zhou, and Z. Ma. Ad hoc synchronization considered harmful. In OSDI '10."}],"container-title":["ACM SIGMOD Record"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3604437.3604440","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3604437.3604440","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:47:18Z","timestamp":1750178838000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3604437.3604440"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,6,7]]},"references-count":17,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2023,6,7]]}},"alternative-id":["10.1145\/3604437.3604440"],"URL":"https:\/\/doi.org\/10.1145\/3604437.3604440","relation":{},"ISSN":["0163-5808"],"issn-type":[{"value":"0163-5808","type":"print"}],"subject":[],"published":{"date-parts":[[2023,6,7]]},"assertion":[{"value":"2023-06-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}