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 over 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;
process crashes (before a flush);
a replica that cannot write due to being out of resources;
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
Also learn more in the Cluster Management, Repair and Scylla Manager lesson on Scylla University.
© 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.