Conflict-free Replicated Data Type
- data structure that simplifies distributed data storage systems and multi-user applications. 
- copies of some data need to be stored on multiple computers - the data may be concurrently modified on different replicas. 
- Can be handled: - Strongly consistent replication - the replicas coordinate with each other to decide when and how to apply the modifications 
- enables strong consistency models such as serializable transactions and linearizability 
- waiting for this coordination reduces the performance of these systems 
 
- Optimistic replication - users may modify the data on any replica independently of any other replica, even if the replica is offline or disconnected from the others. 
- enables maximum performance and availability, but it can lead to conflicts when multiple clients or users concurrently modify the same piece of data. 
- conflicts then need to be resolved when the replicas communicate with each other. 
 
 
 
- Conflict-free Replicated Data Types (CRDTs) are used in systems with optimistic replication, where they take care of conflict resolution - ensure that, no matter what data modifications are made on different replicas, the data can always be merged into a consistent state. 
- merge is performed automatically by the CRDT 
- support decentralised operation: they do not assume the use of a single server, so they can be used in peer-to-peer networks and other decentralised settings 
 
Links
- https://crdt.tech/ 
- https://arxiv.org/pdf/1805.06358.pdf 
- https://inria.hal.science/inria-00555588/document 
Last updated
Was this helpful?