aalto1 untyped-item.component.html
Quasi-network partitioning: A method for version control in strongly eventually consistent replicated databases
Loading...
URL
Journal Title
Journal ISSN
Volume Title
School of Science |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
Department
Major/Subject
Mcode
Language
en
Pages
98
Series
Abstract
Techniques for achieving real-time collaboration in planning software have been subject to considerable advancements in the past decade. Collaboration increasingly occurs live, with users making changes to data models that are immediately available on their local computers. Rigorous, strong and eventually consistent methods are ever increasingly used for achieving convergence of distributed data models. While beneficial in many ways, the strong emphasis on rapid convergence comes with many challenges. Sometimes, users need fine-grained control over the merging process, similar to version control systems like Git. At other times, too fine-grained conflict resolution may function as a hindrance to the collaboration process.
This work presents an approach for delivering operations at database replicas through a hybrid model, where replicas have adjustable control over the merging process based on a branching paradigm. In the presented system, branches function similarly to network partitions, where incoming changes on the same branch are immediately applied, and changes on other branches are delayed until an explicit merge operation. The research is conducted as a design science research problem in information systems, where the focus is also on the process of designing a system with limited prior information. Users of the presented system can both collaborate in real-time on the same branch or collaborate on different branches, with high availability.
The system presents cost-saving opportunities by reducing the necessity of centralised infrastructure compared to previous approaches. It also has the potential to reduce latency between collaborators, making real-time collaboration smoother. By not storing intellectual property in a central repository, the risk of data breaches could be eliminated, and the responsibility for data could be given back to clients. The validity of the presented system is corroborated through an experiment, where an application is implemented to test the convergence of the system and other non-functional properties. The conducted experiment shows promising signs that this system can solve the problems of the collaborative partner.
Tekniker för att uppnå realtidssamarbete i planeringsprogramvara har genomgått betydande framsteg under det senaste decenniet. Samarbete sker allt oftare live, där användares ändringar i datamodeller omedelbart blir tillgängliga på deras lokala datorer. Rigorösa, starka och slutligen konsekventa metoder används i allt större utsträckning för att uppnå konvergens av distribuerade datamodeller. Trots att den starka betoningen på snabb konvergens är fördelaktig på ett flertal sätt, medför den också många utmaningar. Ibland behöver användare mera kontroll över sammanfogningsprocessen, liknande versionshanteringssystem som Git. I andra fall kan en alltför detaljerad konflikthantering fungera som ett hinder för användarnas samarbetsprocess.
Detta arbete presenterar en ny metod för att leverera operationer till databaskopior genom en hybridmodell, där databasinstanser har justerbar kontroll över processen för sammanfogning baserat på ett förgreningsmönster. I det presenterade systemet fungerar grenar på liknande sätt som nätverkspartitioner, där inkommande ändringar på samma gren tillämpas omedelbart, och ändringar på andra grenar fördröjs tills en explicit sammanfogningsoperation har utförts. Arbetet har genomförts som ett designvetenskapligt forskningsproblem inom informationssystem, där vår fokus även ligger på processen att designa ett system med begränsad tidigare information. Användare av det presenterade systemet kan både samarbeta i realtid på samma gren eller samarbeta på olika grenar, med hög tillgänglighet. Vi diskuterar ytterligare systemets skalbarhet, och föreslår modeller för hur systemet även kan tillämpas i praktiken.
Systemet erbjuder inbesparningsmöjligheter genom att minska behovet av centraliserad infrastruktur jämfört med tidigare system. Det har också potential att minska latensen mellan användare, vilket kan göra samarbete smidigare. Genom att inte lagra immateriell egendom i ett centralt arkiv, kan risken för dataintrång elimineras, och ansvaret för data kan återlämnas till klienterna. Validiteten hos det presenterade systemet bekräftas genom ett experiment, där en applikation implementeras för att testa systemets konvergens och andra icke-funktionella egenskaper. Det genomförda experimentet visar lovande tecken på att detta system löser uppdragsgivarens problem.