Fault tolerance is a database’s ability to keep serving requests when components fail. In ScyllaDB, it comes from running a cluster of peer nodes, distributing data among them, and storing multiple copies of each row. A request can succeed even when some replicas are unavailable, as long as its consistency requirement is met. section 1.0 section 1.2.1
Replication factor determines how many locations hold a row. Consistency level determines how many of those replicas must acknowledge a read or write. These are separate choices: replication supplies redundant copies, while consistency sets the number of responsive copies required for a successful query. section 1.2.1 section 1.4
Table 1.1 Sample of consistency level options, assuming a cluster with three replicas
|
Consistency level
|
Description
|
Number required to succeed
|
Failures tolerated
|
|---|---|---|---|
ALL
|
Requires all replicas to succeed
|
3
|
0
|
QUORUM
|
Requires a majority of replicas to succeed
|
2
|
1
|
ONE
|
Requires a single replica to succeed
|
1
|
2
|
With three replicas, ALL requires every replica and tolerates no failures; QUORUM requires two and tolerates one; ONE requires one and tolerates two. Lowering the required acknowledgments preserves availability during failures but raises the chance of inconsistent results. section 1.2.1
This availability has a trade-off. ScyllaDB favors eventual consistency: replicas may not agree at every instant, but the system converges toward correctness over time. Requiring ALL maximizes agreement for a query but makes a single unavailable replica prevent success; weaker levels improve availability by accepting less immediate consistency. section 1.1.3 section 1.2.2
Unlike a leader-follower design, ScyllaDB treats nodes as peers. A client may contact any node; the cluster maps rows to their owners and forwards requests as needed. This removes dependence on one central leader while replication protects data when an individual node is lost. section 1.2.1 section 1.1.3
A three-node failure test
Use a three-node cluster with replication factor 3 and QUORUM consistency. Stop one node, then run quorum queries: two replicas can still respond, so the cluster remains operational for those queries. The same setup cannot satisfy ALL while that node is down. section 2.4 section 1.2.1
Fault tolerance also shapes recovery. After a node crashes, ScyllaDB self-heals by streaming data from other nodes to restore the cluster. The design goal is availability during node loss, while consistency levels let an application decide how much immediate agreement each query needs. section 1.4 section 8.1




