Vis enkel innførsel

dc.contributor.advisorYu, Weihai
dc.contributor.authorKhan, Tabassum
dc.date.accessioned2023-07-05T05:34:00Z
dc.date.available2023-07-05T05:34:00Z
dc.date.issued2023-05-12en
dc.description.abstractAt the one end of the spectrum, locally installed applications allow users to work offline and at their convenience but do not support collaboration among multiple users or devices. At the other end, cloud-based applications offer collaboration and data synchronization but require an uninterrupted internet connection. To address these limitations, Local-First software was introduced to merge the advantages of both approaches. This allows users to use applications offline and synchronize data with peers when they are back online. This approach offers an appealing solution for users requiring both offline capabilities and collaboration [1]. Conflict-free Replicated Data Types (CRDTs) have emerged as a promising technology for implementing Local-First software since they address the challenge of replica convergence and multi-synchronous data access [1]. Basically, they are abstract data types with well-defined interfaces that can be replicated across multiple sites and allow a replica to be modified without coordination with other replicas [2]. The replicas converge to the same state when they receive and apply the same set of updates. If CRDTs are integrated with relational databases (RDBs), they can facilitate multi-synchronous data access and extend RDBs with Local-First characteristics. This integration process is known as Conflict-free Replicated Relations (CRRs) [3]. SynQLite is an implementation that augments SQLite databases with CRR to make them Local-First software [4]. It aims to extend existing SQLite-based applications with multi-synchronous access, enabling offline usage and seamless collaboration across multiple users and devices. However, its existing implementation has a critical limitation in its ability to support multiple sites. It cannot manage states when multiple replicas or sites are frequently connected and disconnected, which is a vital requirement for real-world applications and presents a challenge that must be addressed for SynQLite to be more widely adopted. The goal of this Master’s thesis is to extend the existing version of SynQLite by adding multi-site multi-synchronous support. This was achieved by implementing new features and resolving existing bugs on top of the existing codebase. Our implementation was rigorously evaluated through various tests and experiments, and the results demonstrate that we successfully achieved our goal.en_US
dc.identifier.urihttps://hdl.handle.net/10037/29547
dc.language.isoengen_US
dc.publisherUiT Norges arktiske universitetno
dc.publisherUiT The Arctic University of Norwayen
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-3990
dc.subjectLocal-First softwareen_US
dc.subjectCRDTen_US
dc.subjectCRRen_US
dc.subjectSynQLiteen_US
dc.titleMulti-site multi-synchronous support for SQLite augmented for Local- First Softwareen_US
dc.typeMastergradsoppgaveno
dc.typeMaster thesisen


Tilhørende fil(er)

Thumbnail
Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel

Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Med mindre det står noe annet, er denne innførselens lisens beskrevet som Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)