Data-centric Consistency Policies: A Programming Model for Distributed Applications with Tunable Consistency

Nosheen Zaza, Nathaniel Nystrom
{"title":"Data-centric Consistency Policies: A Programming Model for Distributed Applications with Tunable Consistency","authors":"Nosheen Zaza, Nathaniel Nystrom","doi":"10.1145/2957319.2957377","DOIUrl":null,"url":null,"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.","PeriodicalId":316230,"journal":{"name":"First Workshop on Programming Models and Languages for Distributed Computing","volume":"2013 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-07-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"First Workshop on Programming Models and Languages for Distributed Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2957319.2957377","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
以数据为中心的一致性策略:具有可调一致性的分布式应用程序编程模型
对复制数据的操作的一致性级别是分布式应用程序中的一个重要参数。它会影响正确性、性能和可用性。现在发现单个应用程序同时使用许多不同的一致性级别是很常见的;然而,当前的商业框架没有提供高级抽象来指定或推理应用程序的不同一致性属性。研究框架往往需要开发人员付出大量的努力来指定要保留的操作依赖关系、顺序和不变量。基于正确性标准和不变量是数据的属性,而不是操作的属性,我们提出了一种指定一致性属性的方法。因此,合理的做法是定义一致性属性,以便在数据本身而不是操作上强制执行各种数据不变性。其结果是一个更容易描述和推理的系统。在本文中,我们概述了一个抽象模型的编程语言结构和一个静态检查器的数据中心的一致性控制,并通过一个简单的原型编程语言实现演示了这个模型。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Towards Aggregate Programming in Scala On the Potential of Event Sourcing for Retroactive Actor-based Programming Integration Challenges of Pure Operation-based CRDTs in Redis Fractional Permissions for Race-Free Mutable References in a Dataflow Intermediate Language Static Type Checking for the Kompics Component Model: Kola -- The Kompics Language
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1