Data-centric Consistency Policies
Nosheen Zaza, Nathaniel Nystrom
Abstract
Nosheen Zaza, Nathaniel Nystrom
Abstract
The consistency level of operations over replicated data is an important parameter in distributed applications. It impacts correctness, performance, and availability. It is now common to find single applications using many different consistency levels at the same time; however, current commercial frameworks do not provide high-level abstractions for specifying or reasoning about different consistency properties of an application. Research frameworks that do tend to require a substantial effort from developers to specify operation dependencies, orderings and invariants to be preserved. We propose an approach for specifying consistency properties based on the observation that correctness criteria and invariants are a property of data, not operations. Hence, it is reasonable to define the consistency properties required to enforce various data invariants on the data itself rather than on the operations. The result is a system that is simpler to describe and reason about. In this paper, we outline an abstract model of programming language constructs and a static checker for data-centric consistency control, and demonstrate this model through a simple prototype programming language implementation.
OpenAlex reports 7 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The consistency level of operations over replicated data is an important parameter in distributed applications. It impacts correctness, performance, and availability. It is now common to find single applications using many different consistency levels at the same time; however, current commercial frameworks do not provide high-level abstractions for specifying or reasoning about different consistency properties of an application. Research frameworks that do tend to require a substantial effort from developers to specify operation dependencies, orderings and invariants to be preserved. We propose an approach for specifying consistency properties based on the observation that correctness criteria and invariants are a property of data, not operations. Hence, it is reasonable to define the consistency properties required to enforce various data invariants on the data itself rather than on the operations. The result is a system that is simpler to describe and reason about. In this paper, we outline an abstract model of programming language constructs and a static checker for data-centric consistency control, and demonstrate this model through a simple prototype programming language implementation.
Key concepts: Correctness, Consistency (knowledge bases), Sequential consistency, Consistency model, Computer science, Causal consistency, Data consistency, Weak consistency