SEDCAug 8, 2021

Tackling Consistency-related Design Challenges of Distributed Data-Intensive Systems - An Action Research Study

arXiv:2108.03758v11 citations
Originality Synthesis-oriented
AI Analysis

This addresses the challenge of handling concurrency anomalies in distributed systems for software architects, though it is incremental as it builds on Domain-Driven Design.

The study tackled the lack of systematic engineering guidance for designing distributed data-intensive systems with eventual consistency, resulting in refined design guidelines that were validated as effective and applicable in a multi-site platform project.

Background: Distributed data-intensive systems are increasingly designed to be only eventually consistent. Persistent data is no longer processed with serialized and transactional access, exposing applications to a range of potential concurrency anomalies that need to be handled by the application itself. Controlling concurrent data access in monolithic systems is already challenging, but the problem is exacerbated in distributed systems. To make it worse, only little systematic engineering guidance is provided by the software architecture community regarding this issue. Aims: In this paper, we report on our study of the effectiveness and applicability of the novel design guidelines we are proposing in this regard. Method: We used action research and conducted it in the context of the software architecture design process of a multi-site platform development project. Results: Our hypotheses regarding effectiveness and applicability have been accepted in the context of the study. The initial design guidelines were refined throughout the study. Thus, we also contribute concrete guidelines for architecting distributed data-intensive systems with eventually consistent data. The guidelines are an advancement of Domain-Driven Design and provide additional patterns for the tactical design part. Conclusions: Based on our results, we recommend using the guidelines to architect safe eventually consistent systems. Because of the relevance of distributed data-intensive systems, we will drive this research forward and evaluate it in further domains.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes