Riak DT map: a composable, convergent replicated dictionary

PaPEC '14 Pub Date : 2014-04-13 DOI:10.1145/2596631.2596633
R. Brown, S. Cribbs, Christopher S. Meiklejohn, Sam Elliott
{"title":"Riak DT map: a composable, convergent replicated dictionary","authors":"R. Brown, S. Cribbs, Christopher S. Meiklejohn, Sam Elliott","doi":"10.1145/2596631.2596633","DOIUrl":null,"url":null,"abstract":"Conflict-Free Replicated Data-Types (CRDTs) [6] provide greater safety properties to eventually-consistent distributed systems without requiring synchronization. CRDTs ensure that concurrent, uncoordinated updates have deterministic outcomes via the properties of bounded join-semilattices.\n We discuss the design of a new convergent (state-based) replicated data-type, the Map, as implemented by the Riak DT library [4] and the Riak data store [3]. Like traditional dictionary data structures, the Map associates keys with values, and provides operations to add, remove, and mutate entries. Unlike traditional dictionaries, all values in the Map data structure are also state-based CRDTs and updates to embedded values preserve their convergence semantics via lattice inflations [1] that propagate upward to the top-level. Updates to the Map and its embedded values can also be applied atomically in batches. Metadata required for ensuring convergence is minimized in a manner similar to the optimized OR-set [5].\n This design allows greater flexibility to application developers working with semi-structured data, while removing the need for the developer to design custom conflict-resolution routines for each class of application data. We also discuss the experimental validation of the data-type using stateful property-based tests with QuickCheck [2].","PeriodicalId":354287,"journal":{"name":"PaPEC '14","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"35","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"PaPEC '14","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2596631.2596633","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 35

Abstract

Conflict-Free Replicated Data-Types (CRDTs) [6] provide greater safety properties to eventually-consistent distributed systems without requiring synchronization. CRDTs ensure that concurrent, uncoordinated updates have deterministic outcomes via the properties of bounded join-semilattices. We discuss the design of a new convergent (state-based) replicated data-type, the Map, as implemented by the Riak DT library [4] and the Riak data store [3]. Like traditional dictionary data structures, the Map associates keys with values, and provides operations to add, remove, and mutate entries. Unlike traditional dictionaries, all values in the Map data structure are also state-based CRDTs and updates to embedded values preserve their convergence semantics via lattice inflations [1] that propagate upward to the top-level. Updates to the Map and its embedded values can also be applied atomically in batches. Metadata required for ensuring convergence is minimized in a manner similar to the optimized OR-set [5]. This design allows greater flexibility to application developers working with semi-structured data, while removing the need for the developer to design custom conflict-resolution routines for each class of application data. We also discuss the experimental validation of the data-type using stateful property-based tests with QuickCheck [2].
Riak DT映射:一个可组合的、收敛的复制字典
无冲突复制数据类型(crdt)[6]为最终一致的分布式系统提供了更高的安全性,而不需要同步。crdt通过有界连接半格的属性确保并发的、非协调的更新具有确定的结果。我们讨论了一种新的聚合(基于状态的)复制数据类型Map的设计,它由Riak DT库[4]和Riak数据存储[3]实现。与传统的字典数据结构一样,Map将键与值关联起来,并提供添加、删除和修改条目的操作。与传统字典不同,Map数据结构中的所有值也是基于状态的crdt,对嵌入值的更新通过向上传播到顶层的点阵膨胀[1]来保持其收敛语义。对Map及其嵌入值的更新也可以批量自动应用。确保收敛所需的元数据以类似于优化的or集[5]的方式最小化。这种设计为处理半结构化数据的应用程序开发人员提供了更大的灵活性,同时消除了开发人员为每个应用程序数据类设计自定义冲突解决例程的需要。我们还讨论了使用QuickCheck[2]的基于状态属性的测试对数据类型的实验验证。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信