Cassandra Admin flashcards
Cassandra Admin · Build recall with a focused review session.
32 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Murmur3Partitioner
- Default partitioner in modern Cassandra. It hashes the partition key with Murmur3 into a signed 64-bit token, and that token decides which nodes own the row on the ring.
- Gossip protocol
- Peer-to-peer protocol nodes use roughly once per second to exchange heartbeat, status, schema, and load information. A phi-accrual failure detector then decides whether a peer is down.
- Virtual nodes
- Multiple token ranges assigned to one node. num_tokens sets the count, 16 by default in Cassandra 4.0, giving finer ownership granularity but more streaming sessions during bootstrap.
- Coordinator node
- The node a client connects to. It computes token ownership, forwards the request to the replica set, and merges responses until the requested consistency level is satisfied.
- endpoint_snitch
- cassandra.yaml setting naming the snitch class. GossipingPropertyFileSnitch reads datacenter and rack from cassandra-rackdc.properties and spreads that topology to peers through gossip.
- allocate_tokens_for_local_replication_factor
- Cassandra 4.0 setting that derives evenly distributed tokens for a joining node from a keyspace replication factor, replacing manual token arithmetic and reducing post-bootstrap imbalance.
- Seed nodes
- Addresses listed in cassandra.yaml that a starting node contacts to learn cluster membership through gossip. They are bootstrap contact points, not a runtime single point of failure.
- JVM heap sizing
- Set -Xms equal to -Xmx and keep the heap near or below 31 GB to preserve compressed oops. Larger heaps lengthen garbage collection pauses without improving throughput.
- Partition key
- The first component of the primary key. Its hash selects replica nodes, so all rows sharing a partition key reside together and are fetched in a single partition read.
- Clustering columns
- Columns following the partition key in the primary key. They sort rows inside a partition and enable range, slice, and ORDER BY queries restricted to one partition.
- Static column
- A column declared STATIC stores one value shared by every row in a partition, avoiding repeated storage of attributes that are constant across a wide partition.
- Secondary index
- A per-node index on a non-key column. It suits low-cardinality predicates because every write updates the index on each replica and reads may scatter across all nodes.
- NetworkTopologyStrategy
- Replication strategy taking a replication factor per datacenter and placing replicas on distinct racks where possible, so a rack or datacenter outage does not remove every copy.
- QUORUM consistency
- Requires floor(RF/2)+1 replica acknowledgements, which is two when RF is three. Combining QUORUM reads and writes makes read plus write exceed RF, giving strong consistency.
- Hinted handoff
- The coordinator stores writes destined for an unreachable replica and replays them when it returns. max_hint_window_in_ms defaults to three hours, after which repair is required.
- LOCAL_QUORUM
- Quorum computed only over replicas in the coordinator datacenter. It avoids cross-datacenter latency in multi-datacenter clusters while still tolerating local replica failure.
- SizeTieredCompactionStrategy
- Default compaction strategy merging similarly sized SSTables. It is write-optimized but needs roughly fifty percent free disk and keeps obsolete or deleted data until compaction occurs.
- LeveledCompactionStrategy
- Keeps SSTables in levels of fixed size (sstable_size_in_mb, default 160) with non-overlapping ranges, so reads touch few files. Suits update-heavy and read-heavy tables.
- TimeWindowCompactionStrategy
- Groups SSTables into time windows and compacts only within each window, so TTL-expired time-series data is discarded as whole SSTables without rewriting older data.
- Key cache
- Maps partition keys to SSTable offsets, skipping index lookups on repeated reads. Its size defaults to the smaller of five percent of heap and 100 MB.
- nodetool repair -full
- Compares all replica data using Merkle trees and streams differences. Cassandra 4.0 restored full repair as the default after incremental repair proved difficult to reconcile reliably.
- gc_grace_seconds
- Window, defaulting to 864000 seconds (ten days), during which tombstones are retained so every replica learns about deletes. Repair must complete inside this window.
- nodetool snapshot
- Creates hard links to current SSTables in the snapshots directory, an almost instantaneous point-in-time copy. auto_snapshot also takes one before truncate or drop.
- Commit log archiving
- archive_command copies commit log segments to external storage, allowing point-in-time restore when replayed together with an SSTable snapshot taken earlier.
- PasswordAuthenticator
- cassandra.yaml authenticator that stores role credentials as hashes in the system_auth keyspace. That keyspace needs a replication factor above one in every datacenter.
- CassandraAuthorizer
- Authorizer class recording GRANT permissions per role in system_auth. It must be paired with an authenticator, because it enforces permissions but never verifies identity itself.
- Internode encryption
- Configured in server_encryption_options. internode_encryption set to none, dc, rack, or all controls which node-to-node links use TLS with the configured keystore and truststore.
- Role-based access control
- Cassandra 3.0 and later treat users as roles that hold permissions and can be granted to other roles. Superuser roles bypass permission checks entirely.
- nodetool drain
- Flushes memtables to disk then stops accepting writes and stops gossip. Run it before stopping a node for maintenance or an upgrade to avoid data loss.
- Schema disagreement
- Nodes reporting different schema versions. Inspect with nodetool describecluster, then restart the divergent nodes or run nodetool resetlocalschema to force agreement.
- upgradesstables
- After a major version upgrade, nodetool upgradesstables rewrites existing SSTables into the new format so the node uses current read and compaction paths.
- Dropped messages
- nodetool tpstats counters for requests rejected because a thread pool queue filled. Sustained drops indicate overload and typically precede read or write timeouts.