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

by   Susanne Braun, et al.

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.


Is It the End? Guidelines for Cinematic Endings in Data Videos

Data videos are becoming increasingly popular in society and academia. Y...

The United Nations Sustainable Development Goals in Systems Engineering: Eliciting sustainability requirements

This paper discusses a PhD research project testing the hypothesis that ...

Quality Guidelines for Research Artifacts in Model-Driven Engineering

Sharing research artifacts is known to help people to build upon existin...

On Testing Data-Intensive Software Systems

Today's software systems like cyber-physical production systems or big d...

Towards a Roadmap for Trustworthy Dynamic Systems-of-Systems

This paper gives insights into the DynaSoS project, which aims to propos...

Data-access performance anti-patterns in data-intensive systems

Data-intensive systems handle variable, high volume, and high-velocity d...

ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

Currently, the neural network architecture design is mostly guided by th...

Please sign up or login with your details

Forgot password? Click here to reset