dc.contributor.advisor | Yu, Weihai | |
dc.contributor.author | Tomter, Iver Toft | |
dc.date.accessioned | 2021-09-02T10:16:01Z | |
dc.date.available | 2021-09-02T10:16:01Z | |
dc.date.issued | 2021-05-31 | |
dc.description.abstract | This project aims to explore creating a relational database of Conflict-Free Replicated Relations (CRR) that is generally applicable for most user applications. We aim to achieve generality by using SQLite because it is a commonly used embedded Database Management System that comes default in all Android or iOS devices. The implementation challenge is making CRR using only SQL.
We propose a two-layer database design using Causal Lenght-set for rows in the relations and Last Write Wins-registers for attributes in the rows. Achieving this means implementing methods to propagate data between layers, storing necessary metadata that automatically upholds CRDT functionality. Merges are performed entirely in SQLite. CL-set functionality decides the state of each row, and LWW-registers determine the values of each attribute. In merges, the SQL script resolves reference integrity constraints.
We base experiments on data and client-centric consistency and availability as latency. The experiments highlight the strong eventual consistency across two merge methods. Full merges are when the entire system merges periodically, which grants the system complete consistency on demand. Partial merges simulate that even though nodes are not always available, the system can uphold a consistency threshold. Availability is a trade-off compared to a local datastore when measured as transaction latency. However, the system's scalability outperforms other fairer comparisons like Paxos and Raft. | en_US |
dc.identifier.uri | https://hdl.handle.net/10037/22344 | |
dc.language.iso | eng | en_US |
dc.publisher | UiT Norges arktiske universitet | en_US |
dc.publisher | UiT The Arctic University of Norway | en_US |
dc.rights.accessRights | openAccess | en_US |
dc.rights.holder | Copyright 2021 The Author(s) | |
dc.rights.uri | https://creativecommons.org/licenses/by-nc-sa/4.0 | en_US |
dc.rights | Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) | en_US |
dc.subject.courseID | INF-3981 | |
dc.subject | VDP::Teknologi: 500::Informasjons- og kommunikasjonsteknologi: 550::Datateknologi: 551 | en_US |
dc.subject | VDP::Technology: 500::Information and communication technology: 550::Computer technology: 551 | en_US |
dc.subject | VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Databaser og multimediasystemer: 428 | en_US |
dc.subject | VDP::Mathematics and natural science: 400::Information and communication science: 420::Databases and multimedia systems: 428 | en_US |
dc.subject | VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Kommunikasjon og distribuerte systemer: 423 | en_US |
dc.subject | VDP::Mathematics and natural science: 400::Information and communication science: 420::Communication and distributed systems: 423 | en_US |
dc.subject | VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Teoretisk databehandling, programmeringsspråk og -teori: 421 | en_US |
dc.subject | VDP::Mathematics and natural science: 400::Information and communication science: 420::Theoretical computer science, programming languages and programming theory: 421 | en_US |
dc.title | Towards a General Database Management System of Conflict-Free Replicated Relations | en_US |
dc.type | Master thesis | en_US |
dc.type | Mastergradsoppgave | en_US |