skip to main content
10.1145/3528535.3565252acmconferencesArticle/Chapter ViewAbstractPublication PagesmiddlewareConference Proceedingsconference-collections
research-article
Open Access
Artifacts Available / v1.1

Reversible conflict-free replicated data types

Published:08 November 2022Publication History

ABSTRACT

Conflict-free replicated data types (CRDTs) are popular for optimistic replication and ensuring strong eventual consistency (SEC) in distributed systems. However, reversibility is an underdeveloped functionality for CRDTs, despite its usefulness in system restoration from an erroneous state or undoing unwanted operations. In this paper, we define the concept and design of reversible CRDTs (rCRDTs). Reverse operations compensate for the effect of reversed updates, and they extend existing CRDT interfaces. Three abstractions for reversibility are proposed: reversing a single update, multiple causally related updates, and multiple logically related updates that capture the user intention behind the updates. Moreover, a replicated and distributed key-value store, rKVCRDT, is implemented as a proof of concept that integrates the support of reversible CRDTs. The rCRDTs' evaluation show that although adding reversibility affects the system's performance, the end result depends on multiple factors and varies based on the underlying CRDTs. System designers must consider the trade-off between the benefit of reversibility and the performance impact.

References

  1. AntidoteDB. 2021. Antidote: A planet scale, highly available, transactional database built on CRDT technology. Retrieved July, 2021 from https://github.com/AntidoteDB/antidoteGoogle ScholarGoogle Scholar
  2. Peter Bailis, Alan Fekete, Michael J. Franklin, Ali Ghodsi, Joseph M. Hellerstein, and Ion Stoica. 2014. Coordination Avoidance in Database Systems. Proc. VLDB Endow. 8, 3 (Nov. 2014), 185--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Peter Bailis and Ali Ghodsi. 2013. Eventual Consistency Today: Limitations, Extensions, and Beyond. Commun. ACM 56, 5 (May 2013), 55--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Leemon Baird. 2016. The Swirlds Hashgraph Consensus Algorithm: Fair, fast, Byzantine Fault Tolerance. Retrieved May 2022 from https://eclass.upatras.gr/modules/document/file.php/CEID1175/Pool-of-Research-Papers%5B0%5D/31.HASH-GRAPH.pdfGoogle ScholarGoogle Scholar
  5. Valter Balegas, Diogo Serra, Sérgio Duarte, Carla Ferreira, Marc Shapiro, Rodrigo Rodrigues, and Nuno M. Preguiça. 2015. Extending Eventually Consistent Cloud Databases for Enforcing Numeric Invariants. In 34th IEEE Symposium on Reliable Distributed Systems, SRDS 2015 (Montreal, QC, Canada). IEEE Computer Society, 31--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Carlos Baquero, Paulo Sérgio Almeida, and Ali Shoker. 2014. Making Operation-Based CRDTs Operation-Based. In Proceedings of the First Workshop on Principles and Practice of Eventual Consistency (Amsterdam, The Netherlands) (PaPEC '14). Association for Computing Machinery, New York, NY, USA, Article 7, 2 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Carlos Baquero, Paulo Sergio Almeida, and Ali Shoker. 2017. Pure Operation-Based Replicated Data Types. (2017). arXiv:1710.04469 Google ScholarGoogle ScholarCross RefCross Ref
  8. Annette Bieniusa, Marek Zawirski, Nuno Preguiça, Marc Shapiro, Carlos Baquero, Valter Balegas, and Sérgio Duarte. 2012. An optimized conflict-free replicated set. (2012). arXiv:1210.3368 Google ScholarGoogle ScholarCross RefCross Ref
  9. Peter Bourgon. 2014. Roshi: a CRDT system for timestamped events. Retrieved July 2021 from https://developers.soundcloud.com/blog/roshi-a-crdt-system-for-timestamped-eventsGoogle ScholarGoogle Scholar
  10. Eric Brewer. 2012. CAP twelve years later: How the "rules" have changed. Computer 45, 2 (Jan. 2012), 23--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Sebastian Burckhardt, Daan Leijen, Manuel Fähndrich, and Mooly Sagiv. 2012. Eventually Consistent Transactions. In Programming Languages and Systems - 21st European Symposium on Programming (Tallinn, Estonia) (ESOP 2012, Vol. 7211). Springer, 67--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Badrish Chandramouli, Guna Prasaad, Donald Kossmann, Justin Levandoski, James Hunter, and Mike Barnett. 2018. FASTER: A Concurrent Key-Value Store with In-Place Updates. In Proceedings of the 2018 International Conference on Management of Data (Houston, TX, USA) (SIGMOD '18). Association for Computing Machinery, New York, NY, USA, 275--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David Chen and Chengzheng Sun. 2001. Undoing Any Operation in Collaborative Graphics Editing Systems. In Proceedings of the 2001 International ACM SIGGROUP Conference on Supporting Group Work (Boulder, Colorado, USA) (GROUP '01). Association for Computing Machinery, New York, NY, USA, 197--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. George Coulouris, Jean Dollimore, and Tim Kindberg. 2002. Distributed Systems - Concepts and Designs (3. ed.). Addison-Wesley-Longman.Google ScholarGoogle Scholar
  15. Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: Amazon's Highly Available Key-Value Store. In Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (Stevenson, Washington, USA) (SOSP '07). Association for Computing Machinery, New York, NY, USA, 205--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Hector Garcia-Molina and Kenneth Salem. 1987. Sagas. In Proceedings of the 1987 ACM SIGMOD International Conference on Management of Data (San Francisco, California, USA) (SIGMOD '87). Association for Computing Machinery, New York, NY, USA, 249--259. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kristof Jannes, Bert Lagaisse, and Wouter Joosen. 2021. OWebSync: Seamless Synchronization of Distributed Web Clients. IEEE Transactions on Parallel and Distributed Systems 32, 9 (March 2021), 2338--2351. Google ScholarGoogle ScholarCross RefCross Ref
  18. Kolbeinn Karlsson, Weitao Jiang, Stephen Wicker, Danny Adams, Edwin Ma, Robbert van Renesse, and Hakim Weatherspoon. 2018. Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-Things. In 38th International Conference on Distributed Computing Systems (Vienna, Austria) (ICDCS 2018). IEEE Computer Society, 1150--1158. Google ScholarGoogle ScholarCross RefCross Ref
  19. Martin Kleppmann. 2016. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O'Reilly.Google ScholarGoogle Scholar
  20. Martin Kleppmann. 2022. Making CRDTs Byzantine Fault Tolerant. In Proceedings of the 9th Workshop on Principles and Practice of Consistency for Distributed Data (Rennes, France) (PaPoC '22). Association for Computing Machinery, New York, NY, USA, 8--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Henry F. Korth, Eliezer Levy, and Abraham Silberschatz. 1990. A Formal Approach to Recovery by Compensating Transactions. In 16th International Conference on Very Large Data Bases (Brisbane, Queensland, Australia) (VLDB '90). Morgan Kaufmann, 95--106. http://www.vldb.org/conf/1990/P095.PDFGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  22. Xiao Lv, Fazhi He, Weiwei Cai, and Yuan Cheng. 2018. Supporting selective undo of string-wise operations for collaborative editing systems. Future Generation Computer Systems 82 (May 2018), 41--62. Google ScholarGoogle ScholarCross RefCross Ref
  23. Xiao Lv, Fazhi He, Yuan Cheng, and Yiqi Wu. 2018. A novel CRDT-based synchronization method for real-time collaborative CAD systems. Advanced Engineering Informatics 38 (Oct. 2018), 381--391. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Yunhao Mao. 2022. rKVCRDT. Retrieved June 2022 from https://github.com/MSRG/rKVCRDTGoogle ScholarGoogle Scholar
  25. Pezhman Nasirifard, Ruben Mayer, and Hans-Arno Jacobsen. 2019. FabricCRDT: A Conflict-Free Replicated Datatypes Approach to Permissioned Blockchains (Middleware '19). Association for Computing Machinery, New York, NY, USA, 110--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Tamer Özsu and Patrick Valduriez. 2020. Principles of Distributed Database Systems, 4th Edition. Springer. Google ScholarGoogle ScholarCross RefCross Ref
  27. Nuno M. Preguiça, Carlos Baquero, and Marc Shapiro. 2018. Conflict-free Replicated Data Types (CRDTs). (2018). arXiv:1805.06358 http://arxiv.org/abs/1805.06358Google ScholarGoogle Scholar
  28. Redis. 2021. Redis: Developing applications with Active-Active databases. Retrieved July, 2021 from https://docs.redis.com/latest/rs/databases/active-active/develop/data-types/Google ScholarGoogle Scholar
  29. Riak. 2021. NoSQL Key Value Database | Riak KV. Retrieved July, 2021 from https://riak.com/products/riak-kv/Google ScholarGoogle Scholar
  30. Yasushi Saito and Marc Shapiro. 2005. Optimistic Replication. ACM Comput. Surv. 37, 1 (March 2005), 42--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. A comprehensive study of Convergent and Commutative Replicated Data Types. Technical Report. Inria Centre Paris-Rocquencourt.Google ScholarGoogle Scholar
  32. Marc Shapiro, Nuno M. Preguiça, Carlos Baquero, and Marek Zawirski. 2011. Conflict-Free Replicated Data Types. In Stabilization, Safety, and Security of Distributed Systems - 13th International Symposium (Grenoble, France) (SSS 2011, Vol. 6976). Springer, 386--400. Google ScholarGoogle ScholarCross RefCross Ref
  33. Stéphane Weiss, Pascal Urso, and Pascal Molli. 2009. Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks. In 29th IEEE International Conference on Distributed Computing Systems (Montreal, QC, Canada) (ICDCS 2009). IEEE Computer Society, 404--412. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Chenggang Wu, Jose M. Faleiro, Yihan Lin, and Joseph M. Hellerstein. 2021. Anna: A KVS for Any Scale. IEEE Transactions on Knowledge and Data Engineering 33, 2 (Feb. 2021), 344--358. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Weihai Yu. 2014. Supporting String-Wise Operations and Selective Undo for Peer-to-Peer Group Editing. In Proceedings of the 18th International Conference on Supporting Group Work (Sanibel Island, Florida, USA) (GROUP '14). Association for Computing Machinery, New York, NY, USA, 226--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Weihai Yu, Victorien Elvinger, and Claudia-Lavinia Ignat. 2019. A Generic Undo Support for State-Based CRDTs. In 23rd International Conference on Principles of Distributed Systems (Neuchâtel, Switzerland) (OPODIS 2019, Vol. 153). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 14:1--14:17. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Reversible conflict-free replicated data types

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      Middleware '22: Proceedings of the 23rd ACM/IFIP International Middleware Conference
      November 2022
      110 pages
      ISBN:9781450393409
      DOI:10.1145/3528535

      Copyright © 2022 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 8 November 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Middleware '22 Paper Acceptance Rate8of21submissions,38%Overall Acceptance Rate203of948submissions,21%

      Upcoming Conference

      MIDDLEWARE '24
      25th International Middleware Conference
      December 2 - 6, 2024
      Hong Kong , Hong Kong

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader