====================================================================
Published: 16 November 2022
Tags: data structures, database, distributed systems, rust
CRDTs are a family of data structures that are used to replicate data across multiple computers. They are designed to avoid conflicts when people write data to the same place.
Some highlights:
- CRDTs mathematically guarantee that an application can safely update their local state without needing to coordinate with all of its peers
- Traditional databases focus on a property called linearizability, which guarantees that all operations behave as if executed on a single copy of the data
- CRDTs can be made fault tolerant by solving a problem called the Byzantine Broadcast