Show simple item record

dc.contributor.authorKashi, Tejasvi
dc.date.accessioned2023-08-17 14:59:25 (GMT)
dc.date.available2023-08-17 14:59:25 (GMT)
dc.date.issued2023-08-17
dc.date.submitted2023-08-10
dc.identifier.urihttp://hdl.handle.net/10012/19705
dc.description.abstractModern database systems that support ACID transactions, and applications built around these databases, may choose to sacrifice transaction durability for performance when they deem it necessary. While this approach may yield good performance, it has three major downsides. Firstly, users are often not provided information about when and if the issued transactions become durable. Secondly, users cannot know if durable and non-durable transactions see each other’s effects. Finally, this approach pushes durability handling outside the scope of the transactional model, making it difficult for applications to reason about correctness and data consistency. To address these issues, we present the idea of “Eventual Durability” (ED) to provide a principled way for applications to manage transaction durability trade-offs. The ED model extends the traditional transaction model by decoupling a transaction’s commit point from its durability point – therefore, allowing applications to control which transactions should be acknowledged at commit point and which ones at their durability point. Furthermore, we redefine serialisability and recoverability under ED to allow applications to ascertain if fast transactions became durable and how they might have interacted with safe ones. With ED, users and applications can know what to expect to lose when there is a failure – thus, bringing back managing durability inside the transaction model. We implement the ED model in PostgreSQL and evaluate it to understand the model’s effect on transaction latency, abort rates and throughput. We show that ED Postgres achieves significant latency improvements even while ensuring the guarantees provided by the model. Since a transaction’s resources are released earlier in ED Postgres, we expected to see lower abort rates and higher throughput. Consequently, we observed that ED Postgres provides an average of 91.25% – 93% reduction in abort rates under a contentious workload and an average of 75% increase in throughput compared to baseline Postgres. We also run the TPC-C benchmark against ED Postgres and discuss the findings. Lastly, we discuss how ED Postgres can be used in realistic settings to obtain latency benefits, throughput improvements, reduced abort rates, and fresher reads.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.subjecteventual-durabilityen
dc.subjecttransactionsen
dc.subjecttransaction-durabilityen
dc.subjectdatabasesen
dc.titleEventual Durability of ACID Transactions in Database Systemsen
dc.typeMaster Thesisen
dc.pendingfalse
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.degreeMaster of Mathematicsen
uws-etd.embargo.terms0en
uws.contributor.advisorSalem, Kenneth
uws.contributor.affiliation1Faculty of Mathematicsen
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages