[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3514221.3526120acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Ad Hoc Transactions in Web Applications: The Good, the Bad, and the Ugly

Published: 11 June 2022 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 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. Based on the findings, we discuss the implications of ad hoc transactions to the database research community.

Supplemental Material

MP4 File
Presentation video

References

[1]
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
[2]
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. https://doi.org/10.1145/38765.38847
[3]
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. https://doi.org/10.1016/B978-0--444--88433--6.50020--4
[4]
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. https://doi.org/10.14778/2735508.2735509
[5]
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. https://doi.org/10.1145/2723372.2737784
[6]
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. https://doi.org/10.14778/3297753.3297760
[7]
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. https://doi.org/10.1145/2741948.2741972
[8]
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. https://doi.org/10.1145/22890.22945
[9]
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. https://doi.org/10.1145/223784.223785
[10]
Broadleaf Commerce. 2021. BroadleafCommerce. https://github.com/BroadleafCommerce/BroadleafCommerce
[11]
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. https://doi.org/10.1145/2568225.2568259
[12]
Civilized Discourse Construction Kit. 2021. Discourse. https://github.com/discourse/discourse
[13]
Civilized Discourse Construction Kit. 2021. MiniSql. https://github.com/discourse/mini_sql
[14]
Claire. 2019. Avoid race condition when streaming deleted statuses. https://github.com/mastodon/mastodon/pull/10280
[15]
danielcolgrove. 2021. Comments on issue 2472. https://github.com/BroadleafCommerce/BroadleafCommerce/issues/2472#issuecomment-762425223
[16]
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. https://doi.org/10.1145/3035918.3035919
[17]
DB-Engines. 2021. DB-Engines Ranking of Relational DBMS. Retrieved Dec. 15, 2021 from https://db-engines.com/en/ranking/relational+dbms
[18]
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. https://doi.org/10.14778/2536274.2536331
[19]
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. https://doi.org/10.1109/ICDE.2015.7113278
[20]
Django Software Foundation. 2021. Django. https://www.djangoproject.com
[21]
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. https://doi.org/10.1007/s11390-020--9700--5
[22]
Double Chain Tech. 2021. SCM Biz Suite. https://github.com/doublechaintech/scm-biz-suite
[23]
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. https://doi.org/10.1145/360363.360369
[24]
FIT2CLOUD. 2021. JumpServer. https://github.com/jumpserver/jumpserver
[25]
Hector Garcia-Molina and Kenneth Salem. 1987. Sagas. SIGMOD Rec. 16, 3 (Dec. 1987), 249--259. https://doi.org/10.1145/38714.38742
[26]
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. https://doi.org/10.1145/50202.50206
[27]
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
[28]
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. https://doi.org/10.1145/2463676.2465325
[29]
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. https://doi.org/10.1145/356842.356847
[30]
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. https://doi.org/10.1145/1282480.1282513
[31]
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. https://doi.org/10.1109/ICST.2013.19
[32]
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. https://doi.org/10.1145/2491411.2491412
[33]
The PostgreSQL Global Development Group. 2021. PostgreSQL 13.3 Documentation.
[34]
Joseph M. Hellerstein and Peter Alvaro. 2020. Keeping CALM: When Distributed Consistency is Easy. Commun. ACM 63, 9 (Aug. 2020), 72--81. https://doi.org/10.1145/3369736
[35]
M. Herlihy. 1990. Apologizing versus Asking Permission: Optimistic Concurrency Control for Abstract Data Types. ACM Trans. Database Syst. 15, 1 (March 1990), 96--124. https://doi.org/10.1145/77643.77647
[36]
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. https://doi.org/10.14778/3377369.3377373
[37]
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. https://doi.org/10.1145/582318.582340
[38]
H. T. Kung and John T. Robinson. 1981. On Optimistic Methods for Concurrency Control. ACM Trans. Database Syst. 6, 2 (June 1981), 213--226. https://doi.org/10.1145/319566.319567
[39]
Jean-Philippe Lang. 2021. Redmine. https://github.com/redmine/redmine
[40]
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. https://doi.org/10.1109/69.485643
[41]
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. https://doi.org/10.14778/2831360.2831368
[42]
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.
[43]
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.
[44]
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. https://doi.org/10.1109/ICDE.2004.1319981
[45]
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. https://doi.org/10.1145/2168836.2168855
[46]
Microsoft. 2020. Table Hints (Transact-SQL). https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-ver15
[47]
Microsoft. 2021. Remarks on SET TRANSACTION ISOLATION LEVEL (Transact-SQL). Microsoft. https://docs.microsoft.com/en-us/sql/t-sql/statements/set-transaction-isolation-level-transact-sql?view=sql-server-ver15#remarks
[48]
Vlad Mihalcea. 2015. High-Performance Java Persistence. Vlad Mihalcea, Romania.
[49]
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
[50]
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.
[51]
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. https://doi.org/10.1145/128765.128770
[52]
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. https://doi.org/10.1145/130283.130338
[53]
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. https://doi.org/10.1145/2723372.2749436
[54]
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
[55]
OASIS Web Services Transaction (WS-TX) TC. 2009. Web Services Coordination (WS-Coordination). OASIS. https://docs.oasis-open.org/ws-tx/wscoor/2006/06
[56]
Patrick E. O'Neil. 1986. The Escrow Transactional Method. ACM Trans. Database Syst. 11, 4 (Dec. 1986), 405--430. https://doi.org/10.1145/7239.7265
[57]
Oracle. 2020. MySQL 8.0 Reference Manual (Including MySQL NDB Cluster 8.0).
[58]
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. https://doi.org/10.1145/1066116.1189038
[59]
Project Concerto. 2021. API controller did not implement order version check. https://github.com/spree/spree/issues/10748
[60]
Project Concerto. 2021. Crash while processing payments leads to unexpected behavior. https://github.com/spree/spree/issues/10744
[61]
Project Concerto. 2021. Implementation issue in order lock. https://github.com/spree/spree/issues/10697
[62]
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
[63]
Project Concerto. 2021. A more efficient Redis lock. https://meta.discourse.org/t/a-more-efficient-redis-lock/177841
[64]
Project Concerto. 2021. Race condition in downsize_upload script. https://meta.discourse.org/t/race-condition-in-downsize-upload-script/177152
[65]
Project Concerto. 2021. Redis lock's TTL may leads to potential bugs. https://github.com/tootsuite/mastodon/issues/15645
[66]
Project Concerto. 2021. Session order lock may be discarded unexpectedly. https://github.com/BroadleafCommerce/BroadleafCommerce/issues/2555
[67]
Project Concerto. 2021. Sku inconsistent caused by concurrent checkout. https://github.com/BroadleafCommerce/BroadleafCommerce/issues/2472
[68]
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.
[69]
Rails Core Team. 2021. Active Record. https://guides.rubyonrails.org/active_record_basics.html
[70]
Rails Core Team. 2021. Ruby on Rails. https://rubyonrails.org
[71]
Red Hat. 2021. Hibernate ORM. https://hibernate.org/orm/
[72]
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.
[73]
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. https://doi.org/10.1145/2882903.2882958
[74]
Eugen Rochko. 2019. Comments on commit a359be23. https://github.com/mastodon/mastodon/pull/4642/commits/a359be23a3c26fe7a824ce9bb0f1faaaac3d02b6#r134231414
[75]
Eugen Rochko and other Mastodon contributors. 2021. Mastodon. https://github.com/mastodon/mastodon
[76]
Sam Saffron. 2015. A reply on Edit of rebaked post doesn't show in HTML; only in raw. https://meta.discourse.org/t/edit-of-rebaked-post-doesnt-show-in-html-only-in-raw/33815/6
[77]
Saleor Commerce. 2021. Saleor Commerce. https://github.com/saleor/saleor
[78]
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 Heidelberg, Berlin, Heidelberg, 386--400. https://doi.org/10.1007/978--3--642--24550--3_29
[79]
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, Heidelberg, 42--61.
[80]
A. Silberschatz, H.F. Korth, and S. Sudarshan. 2011. Database System Concepts. McGraw-Hill, New York, NY, USA.
[81]
Spree Commerce. 2021. Spree Commerce. https://spreecommerce.org
[82]
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 (Farminton, Pennsylvania) (SOSP '13). Association for Computing Machinery, New York, NY, USA, 18--32. https://doi.org/10.1145/2517349.2522713
[83]
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) (SIG- MOD '17). Association for Computing Machinery, New York, NY, USA, 5--20. https://doi.org/10.1145/3035918.3064037
[84]
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. https://doi.org/10.1145/2882903.2915202
[85]
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
[86]
X/Open. 1991. Distributed Transaction Processing: The XA Specification.
[87]
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. https://doi.org/10.1145/3132847.3132954
[88]
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. https://doi.org/10.1145/3180155.3180194
[89]
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. https://doi.org/10.1145/3236024.3264589
[90]
Philip Z. 2021. Comments on issue 17 (in Chinese). https://github.com/doublechaintech/scm-biz-suite/issues/17
[91]
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

Cited By

View all
  • (2024)Mammoths are Slow: The Overlooked Transactions of Graph DataProceedings of the VLDB Endowment10.14778/3636218.363624117:4(904-911)Online publication date: 5-Mar-2024
  • (2024)IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store ApplicationsProceedings of the ACM on Programming Languages10.1145/36563918:PLDI(343-367)Online publication date: 20-Jun-2024
  • (2024)Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web ApplicationsACM Transactions on Database Systems10.1145/363855349:1(1-43)Online publication date: 28-Feb-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '22: Proceedings of the 2022 International Conference on Management of Data
June 2022
2597 pages
ISBN:9781450392495
DOI:10.1145/3514221
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2022

Permissions

Request permissions for this article.

Check for updates

Badges

  • Honorable Mention

Author Tags

  1. ad hoc transactions
  2. database transactions
  3. web applications

Qualifiers

  • Research-article

Funding Sources

Conference

SIGMOD/PODS '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)171
  • Downloads (Last 6 weeks)19
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Mammoths are Slow: The Overlooked Transactions of Graph DataProceedings of the VLDB Endowment10.14778/3636218.363624117:4(904-911)Online publication date: 5-Mar-2024
  • (2024)IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store ApplicationsProceedings of the ACM on Programming Languages10.1145/36563918:PLDI(343-367)Online publication date: 20-Jun-2024
  • (2024)Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web ApplicationsACM Transactions on Database Systems10.1145/363855349:1(1-43)Online publication date: 28-Feb-2024
  • (2024)STAGE: Secure and Efficient Data Delivery for Exchange-Assisted Data MarketplacesICC 2024 - IEEE International Conference on Communications10.1109/ICC51166.2024.10622818(1-6)Online publication date: 9-Jun-2024
  • (2023)Epoxy: ACID Transactions across Diverse Data StoresProceedings of the VLDB Endowment10.14778/3611479.361148416:11(2742-2754)Online publication date: 1-Jul-2023
  • (2023)TECHNICAL PERSPECTIVE: Ad Hoc Transactions: What They Are and Why We Should CareACM SIGMOD Record10.1145/3604437.360443952:1(6-6)Online publication date: 8-Jun-2023
  • (2023)Detecting Isolation Bugs via Transaction Oracle ConstructionProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00101(1123-1135)Online publication date: 14-May-2023
  • (2023)Associativity-Aware Transaction Processing Optimization for Web Applications2022 IEEE 28th International Conference on Parallel and Distributed Systems (ICPADS)10.1109/ICPADS56603.2022.00072(507-513)Online publication date: Jan-2023
  • (2023)Database Deadlock Diagnosis for Large-Scale ORM-Based Web Applications2023 IEEE 39th International Conference on Data Engineering (ICDE)10.1109/ICDE55515.2023.00219(2864-2877)Online publication date: Apr-2023
  • (2022)High-Performance Transaction Processing for Web Applications Using Column-Level LockingWeb Information Systems Engineering – WISE 202210.1007/978-3-031-20891-1_14(186-193)Online publication date: 31-Oct-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media