Feral Concurrency Control
- 27 May 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1327-1342
- https://doi.org/10.1145/2723372.2737784
Abstract
The rise of data-intensive \"Web 2.0\" Internet services has led to a range of popular new programming frameworks that collectively embody the latest incarnation of the vision of Object-Relational Mapping (ORM) systems, albeit at unprecedented scale. In this work, we empirically investigate modern ORM-backed applications' use and disuse of database concurrency control mechanisms. Specifically, we focus our study on the common use of feral, or application-level, mechanisms for maintaining database integrity, which, across a range of ORM systems, often take the form of declarative correctness criteria, or invariants. We quantitatively analyze the use of these mechanisms in a range of open source applications written using the Ruby on Rails ORM and find that feral invariants are the most popular means of ensuring integrity (and, by usage, are over 37 times more popular than transactions). We evaluate which of these feral invariants actually ensure integrity (by usage, up to 86.9%) and which---due to concurrency errors and lack of database support---may lead to data corruption (the remainder), which we experimentally quantify. In light of these findings, we present recommendations for database system designers for better supporting these modern ORM programming patterns, thus eliminating their adverse effects on application integrity.Keywords
This publication has 33 references indexed in Scilit:
- Coordination avoidance in database systemsProceedings of the VLDB Endowment, 2014
- Automatic partitioning of database applicationsProceedings of the VLDB Endowment, 2012
- Probabilistically bounded staleness for practical partial quorumsProceedings of the VLDB Endowment, 2012
- Quantifying isolation anomaliesProceedings of the VLDB Endowment, 2009
- Selecting Empirical Methods for Software Engineering ResearchPublished by Springer Science and Business Media LLC ,2008
- Will Software Developers Ride Ruby on Rails to Success?Computer, 2006
- A vision for management of complex modelsACM SIGMOD Record, 2000
- Integrity control in relational database systems — an overviewData & Knowledge Engineering, 1993
- The ObjectStore database systemCommunications of the ACM, 1991
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976