Show simple item record

dc.contributor.advisorYu, Weihai
dc.contributor.authorBrynjulfsen, Sondre E.
dc.date.accessioned2023-08-25T11:54:18Z
dc.date.available2023-08-25T11:54:18Z
dc.date.issued2023-05-31
dc.description.abstractSynQLite is a relational database (RDB) built on SQLite. Using conflict-free replicated relations (CRR) to apply conflict-free replicated data types (CRDT) to augment the SQLite database. With SynQLite sites update their local replica without coordination from others sites, and sites converge once they have applied the same sets of updates. These sets of updates are fetched from the CRR and History tables generated by SynQLite during CRR initialization. To keep the tables updated SynQLite uses triggers associated with the insert, update, and delete statements. From a previous project it was found that with the current setup of triggers the performance of SynQLite was almost 94 times slower in the TPC-C benchmark compared to an SQLite database using no triggers. The project concluded that it was the use of triggers that was the cause of the performance issues. In this thesis the focus will be shifted from finding the problems to finding a solution to improve the performance. While the use of triggers is the cause of the problems they cannot be fully removed. SynQLite requires some data to be stored automatically to correctly merge two, or more, sites. To find a potential solution an iterative design process is used. The different solutions will be tested using a custom benchmarking tool and py-tpcc by Andy Pavlo, which implements the TPC-C benchmark in Python. The results from these benchmarks are used to make decisions on what solutions to dismiss or continue work on. During the thesis a different solution to the current implementation was found which takes inspiration of SQLite’s Journals. Using the new solution saw an almost 110 times improvement in the TPC-C benchmark, reaching just over 88% of the SQLite’s performance.en_US
dc.identifier.urihttps://hdl.handle.net/10037/30445
dc.language.isoengen_US
dc.publisherUiT Norges arktiske universiteten_US
dc.publisherUiT The Arctic University of Norwayen_US
dc.rights.accessRightsopenAccessen_US
dc.rights.holderCopyright 2023 The Author(s)
dc.rights.urihttps://creativecommons.org/licenses/by-nc-sa/4.0en_US
dc.rightsAttribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)en_US
dc.subject.courseIDINF-3981
dc.subjectVDP::Technology: 500::Information and communication technology: 550::Computer technology: 551en_US
dc.subjectVDP::Teknologi: 500::Informasjons- og kommunikasjonsteknologi: 550::Datateknologi: 551en_US
dc.titleImproving the performance of a Conflict-Free Replicated Relational Database Systemen_US
dc.typeMaster thesisen_US
dc.typeMastergradsoppgaveen_US


File(s) in this item

Thumbnail
Thumbnail

This item appears in the following collection(s)

Show simple item record

Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)