Improving the performance of a Conflict-Free Replicated Relational Database System
Permanent link
https://hdl.handle.net/10037/30445Date
2023-05-31Type
Master thesisMastergradsoppgave
Author
Brynjulfsen, Sondre E.Abstract
SynQLite 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.
Publisher
UiT Norges arktiske universitetUiT The Arctic University of Norway
Metadata
Show full item recordCollections
Copyright 2023 The Author(s)
The following license file are associated with this item: