Cassandra (Apache) — concept page. Wide-column store, masterless ring, gossip-based membership, consistent hashing on token ring, tunable consistency (LOCAL_QUORUM/QUORUM/ONE/ALL), LSM storage (CommitLog + Memtable + SSTables), compaction strategies (STCS/LCS/TWCS), Lightweight Transactions via Paxos. Anti-entropy via hinted handoff, read repair, nodetool repair. Three scenarios: write path with CL=QUORUM (RF=3, W=2 via coordinator + 3 replicas), read repair healing a stale replica via timestamp reconciliation, hinted handoff during partition with coordinator stashing and replaying mutations. Three ADRs covering masterless vs leader-based replication, Cassandra vs ScyllaDB vs DynamoDB tool selection, and LOCAL_QUORUM as production default for tunable consistency.
A Cassandra client selects a coordinator. For a write, the coordinator sends the mutation to every replica for the token range; the consistency level controls how many responses are required before success. Each responding replica records the mutation in its own commit log and memtable. A coordinator log is not a substitute for replica durability.
RF=3 with QUORUM requires two replica acknowledgements: floor(RF/2)+1. A minority of one replica is not QUORUM. Intersection (R + W > RF) helps a read contact at least one replica from the acknowledged write set under the same replica-set assumptions, but it is not by itself linearizability, transactional isolation, or perfect clock ordering.
USING CONSISTENCY syntax to a mutation.INSERT ... USING CONSISTENCY ... clause.Write QUORUM with RF=3. The coordinator sends to all three replicas and succeeds after two replicas durably acknowledge.
Read QUORUM and reconcile. The coordinator compares enough replica responses and returns the winning current value under Cassandra timestamp rules.
Hinted handoff and later repair. A hint shortens inconsistency while a replica is down, but scheduled repair remains the convergence backstop.
Paxos lightweight compare-and-set. A conditional single-partition mutation uses the LWT consensus path rather than ordinary quorum write semantics.
INSERT ... USING CONSISTENCY QUORUM: consistency level задаётся вне CQL mutation syntax.read_repair_chance настройки как текущую гарантию convergence; планируйте repair.Введите числа или выберите пресет