{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,19]],"date-time":"2025-02-19T05:18:57Z","timestamp":1739942337054,"version":"3.37.3"},"reference-count":28,"publisher":"Association for Computing Machinery (ACM)","issue":"13","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2024,9]]},"abstract":"<jats:p>For latency-critical transactional applications, durability is often what limits performance. That is, executing transactions is fast, but guaranteeing that they are durable is slow. As a result, most of each transaction's latency is attributable to durability. To address this problem, some database systems allow applications to sacrifice durability guarantees in exchange for lower transaction latencies. These ad hoc techniques are effective, but they can make it difficult for applications to understand and manage the risks associated with failures.<\/jats:p>\n          <jats:p>In this paper, our goal is to offer a more principled foundation for these kinds of performance\/durability tradeoffs. The major obstacle to doing this is the transaction model itself, because it couples transaction durability with transaction commit. That is, the model defines a single point at which a transaction becomes visible and durable. This forces all transaction guarantees to wait for the slowest one, which is often durability.<\/jats:p>\n          <jats:p>\n            The primary contribution of this work is a new\n            <jats:italic>eventually durable<\/jats:italic>\n            transaction model, which decouples commit from durability. Transactions commit first, and become durable later. We argue for making this model the basis of the contract between transactional data systems and applications. We describe what it means to correctly implement eventually durable transactions, and consider how they can be exposed to applications. We also describe a prototype implementation of eventual durability in PostgreSQL, and show that it enables applications to reduce transaction latencies while managing the durability risks.\n          <\/jats:p>","DOI":"10.14778\/3704965.3704979","type":"journal-article","created":{"date-parts":[[2025,2,18]],"date-time":"2025-02-18T17:22:57Z","timestamp":1739899377000},"page":"4733-4745","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Eventual Durability"],"prefix":"10.14778","volume":"17","author":[{"given":"Tejasvi","family":"Kashi","sequence":"first","affiliation":[{"name":"University of Waterloo, Waterloo, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kenneth","family":"Salem","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jaemyung","family":"Kim","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Khuzaima","family":"Daudjee","sequence":"additional","affiliation":[{"name":"University of Waterloo, Waterloo, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,2,18]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 13th USENIX conference on Operating Systems Design and Implementation (OSDI'18)","author":"Alagappan Ramnatthan","unstructured":"Ramnatthan Alagappan, Aishwarya Ganesan, Jing Liu, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2018. Fault-tolerance, fast and slow: exploiting failure asynchrony in distributed systems. In Proceedings of the 13th USENIX conference on Operating Systems Design and Implementation (OSDI'18). USENIX Association, USA, 391--408."},{"key":"e_1_2_1_2_1","unstructured":"P. A. Bernstein V. Hadzilacos and N. Goodman. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491245"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/971697.602261"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/602259.602261"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732240.2732246"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3423138"},{"key":"e_1_2_1_9_1","first-page":"3","article-title":"Varieties of concurrency control in IMS\/VS fast path","volume":"8","author":"Gawlick Dieter","year":"1985","unstructured":"Dieter Gawlick and David Kinkade. 1985. Varieties of concurrency control in IMS\/VS fast path. IEEE Database Eng. Bull. 8, 2 (1985), 3--10.","journal-title":"IEEE Database Eng. Bull."},{"key":"e_1_2_1_10_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2338626.2338630","article-title":"Foster B-trees","volume":"37","author":"Graefe Goetz","year":"2012","unstructured":"Goetz Graefe, Hideaki Kimura, and Harumi Kuno. 2012. Foster B-trees. ACM Transactions on Database Systems (TODS) 37, 3 (2012), 1--29.","journal-title":"ACM Transactions on Database Systems (TODS)"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465325"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/235968.233330"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.14778\/3415478.3415535"},{"key":"e_1_2_1_14_1","volume-title":"Scott","author":"Izraelevitz Joseph","year":"2016","unstructured":"Joseph Izraelevitz, Hammurabi Mendes, and Michael L. Scott. 2016. Linearizability of persistent memory objects under a full-system-crash failure model. In International Symposium on Distributed Computing. Springer, 313--327."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1516360.1516365"},{"key":"e_1_2_1_16_1","volume-title":"10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12)","author":"Li Cheng","year":"2012","unstructured":"Cheng Li, Daniel Porto, Allen Clement, Johannes Gehrke, Nuno Pregui\u00e7a, and Rodrigo Rodrigues. 2012. Making {Geo-Replicated} systems fast as possible, consistent when necessary. In 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12). 265--278."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3458454"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.14778\/3446095.3446098"},{"key":"e_1_2_1_19_1","unstructured":"Microsoft 2023. Differences between availability modes for an Always On availability group. Microsoft. Retrieved 2024-01-22 from https:\/\/learn.microsoft.com\/enus\/sql\/database-engine\/availability-groups\/windows\/availability-modes-always-on-availability-groups?view=sql-server-ver16"},{"key":"e_1_2_1_20_1","unstructured":"Oracle 2023. Oracle TimesTen In-Memory Database (release 22.1 ed.). Oracle."},{"key":"e_1_2_1_21_1","volume-title":"pgbench - A Benchmarking Tool for PostgreSQL","author":"The PostgreSQL Global Development Group 2024. PostgreSQL 16.1 Documentation","year":"2024","unstructured":"The PostgreSQL Global Development Group 2024. PostgreSQL 16.1 Documentation, pgbench - A Benchmarking Tool for PostgreSQL. The PostgreSQL Global Development Group. Retrieved 2024-01-22 from https:\/\/www.postgresql.org\/docs\/current\/pgbench.html"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3300090"},{"key":"e_1_2_1_23_1","unstructured":"Hironobu Suzuki. 2023. The Internals of Postgres. Retrieved 2024-01-22 from http:\/\/www.interdb.jp\/pg\/index.html"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3386134"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3386134"},{"key":"e_1_2_1_26_1","volume-title":"The Open Group Base Specifications Issue 7","author":"The Open Group 2018.","year":"2018","unstructured":"The Open Group 2018. The Open Group Base Specifications Issue 7, 2018 Edition. The Open Group. Retrieved 2024-10-01 from https:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/"},{"key":"e_1_2_1_27_1","unstructured":"The PostgreSQL Global Development Group 2023. PostgreSQL 16.1 Documentation. The PostgreSQL Global Development Group. Retrieved 2024-02-05 from https:\/\/www.postgresql.org\/docs\/16\/index.html"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522713"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3056101"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3704965.3704979","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,18]],"date-time":"2025-02-18T17:25:40Z","timestamp":1739899540000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3704965.3704979"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9]]},"references-count":28,"journal-issue":{"issue":"13","published-print":{"date-parts":[[2024,9]]}},"alternative-id":["10.14778\/3704965.3704979"],"URL":"https:\/\/doi.org\/10.14778\/3704965.3704979","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2024,9]]},"assertion":[{"value":"2025-02-18","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}