Big(ger) Sets: decomposed delta CRDT Sets in Riak
Russell Brown, Zeeshan Lakhani, and Paul Place

TL;DR
This paper introduces a decomposed delta CRDT set implementation in Riak that significantly improves write performance for high-cardinality sets by optimizing delta-replication and disk decomposition, enabling larger sets with maintained consistency.
Contribution
The paper presents a novel approach to CRDT set implementation in Riak that enhances write efficiency and supports larger sets through disk decomposition and optimized delta-replication.
Findings
Supports sets hundreds of times larger than previous Riak sets
Achieves better than O(n) performance for insert and remove operations
Maintains consistency while improving performance for high-cardinality sets
Abstract
CRDT[24] Sets as implemented in Riak[6] perform poorly for writes, both as cardinality grows, and for sets larger than 500KB[25]. Riak users wish to create high cardinality CRDT sets, and expect better than O(n) performance for individual insert and remove operations. By decomposing a CRDT set on disk, and employing delta-replication[2], we can achieve far better performance than just delta replication alone: relative to the size of causal metadata, not the cardinality of the set, and we can support sets that are 100s times the size of Riak sets, while still providing the same level of consistency. There is a trade-off in read performance but we expect it is mitigated by enabling queries on sets.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
