Exploring the viability of a CRDT-based Data Model for a distributed decision support system
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2656668Utgivelsesdato
2020Metadata
Vis full innførselSamlinger
Sammendrag
Konfliktfrie replikerte datastrukturer (CRDT-er) forsikrer at endringer utført i parallell resulterer i identiske strukturer som gjør at de konseptuelt kan brukes til å implementere et distribuert system som ikke begrenser hverken tilgjengelighet eller integritet. Denne rapporten utforsker muligheten for å anvende en CRDT-basert datamodell for et distribuert beslutningsstøttesystem under utvikling av Norges Røde Kors under navnet Operativt Beslutningsstøttesystem (OBS). Søk og redningsdomenet er et konseptuelt godt bruksområde for en slik datamodell ettersom den vil tillate sømløse sammenflettinger samtidig som tilgjengelighet garanteres.
Produktet i denne rapporten er en forsøksimplementasjon av en slik datamodell som tilbyr tilgjengelighet og integritet ved å benytte seg av CRDT-er. Løsningen benytter seg av flere kjente CRDT-er som har blitt tilpasset den hierarkiske strukturen som kreves av systemet mens den garanterer at data ikke går tapt som et resultat av samtidige operasjoner. Denne løsningen viser at CRDT-er er tilstrekkelig ekspressive til å benyttes som komponenter i en tilfredsstillende datamodell samtidig som de håndterer en krevende liste av krav. Conflict-free Replicated Data Structures provide strong eventual consistency by ensuring that alterations to the model resolve the same regardless of execution order, conceptually providing a distributed system with both consistency and availability. This report examines the viability of a completely CRDT-based data model for a distributed decision support system to be used by the Norwegian Red Cross under the name Operativt Beslutningsstøttesystem (OBS). The domain of search and rescue is an intuitive fit for CRDTs due to the capability of seamless merges with other replicas and guaranteed service regardless of connection.
The product of this report is a proof-of-concept implementation for a data model providing strong eventual consistency with constant availability using Conflict-free Replicated Data Types (CRDTs) for OBS. The solution implements several known CRDTs adapted to fit the hierarchial structure of the model required for the system while ensuring that data is not lost due to concurrent operation and demonstrates that CRDTs are able to provide a sufficient data model while handling a demanding set of requirements.