Scylla replicates data according to eventual consistency. This means that, in Scylla, when considering the CAP Theorem, availability and partition tolerance are considered a higher priority than consistency, although Scylla’s tunable consistency allows users to make a tradeoff between availability and consistency. Scylla’s consistency level is tunable per query.
However, over time, there can be a number of reasons for data inconsistencies, including:
- a down node;
- a network partition;
- dropped mutations;
- process crashes (before a flush);
- a replica that cannot write due to being out of resources;
- file corruption.
To mitigate entropy, or data inconsistency, Scylla uses a few different processes. The goal of Scylla anti-entropy - based on that of Apache Cassandra - is to compare data on all replicas, synchronize data between all replicas, and, finally, ensure each replica has the most recent data.
Anti-entropy measures include write-time changes such as hinted handoff, read-time changes such as read repair, and finally, periodic maintenance via repair.
- Scylla Hinted Handoff - High-Level view of Scylla Hinted Handoff
- Scylla Read Repair - High-Level view of Scylla Read Repair
- Scylla Repair - Description of Scylla Repair
© 2016, The Apache Software Foundation.
Apache®, Apache Cassandra®, Cassandra®, the Apache feather logo and the Apache Cassandra® Eye logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. No endorsement by The Apache Software Foundation is implied by the use of these marks.