- What is a data center?
- What is a rack?
- What is Cassandra's gossip protocol?
- How offten the gossiper runs?
- What are gossip protocols in general used for, and where?
- What is the
Gossiper
class used for? - How the gossiper works? What messages each round of gossip requires?
- What happens if the gossiper determines that another endpoint is dead?
- What is accrual failure detection (AFD)? (what accrual means?)
- What are two primary ideas of accrual failure detection?
- What is the advantage of AFD when compared to a simple binary assessment?
- What is a job of the snitch?
- What is the role of snitch in a read opperation?
- What is the default snitch?
- What is dynamic snithcing? How it works? What is a similarity with gossip?
- What is badness threshold?
- What is a ring?
- How are ranges assigned to a node in a ring?
- What is a token?
- Why did Cassandra introduces the concept of virtual nodes (vnodes)? How the tokens and ranges were calculated before virtual nodes?
- What is
num_tokens
property in thecassandra.yaml
file used for? - Why vnodes speed up bootstrapping, decommissioning, and repairing a node?
- What a partitioner is used for?
- Is it possible to plug your own implementation of a partitioner? How?
- What is a replica?
- What is a replication factor?
- How the first replica?
- What is replication strategy?
- What are two primary implementations of
AbstractReplicationStrategy
? How they place replicas?
- When is the consistency level specified?
- What does consistency level specify for read and write?
- What are available consistency levels?
- Which consistency levels are considered weak and which are considered strong?
- What is the difference between consistency level and replication factor?
- What is coordinator node? What does it do?
- What is the purpose of commit log? When a commit log is read from?
- What is a memtable? In which memory memtables are (mostly) stored and why?
- When are memtables flushed to disk?
- What happens with commit log when a memtable is flushed?
- What is a SSTable?
- Explain properties of SSTable (immutability, sequetial writes).
- On read, where does Cassandra read from?
- Which forms of caching does Cassandra provide? Explain each one.
- Which ones are enabled by default?
Hinted Handoff - 118, docs
- What is a hinted handoff?
- Do hints count as writes for the purposes of consistency level?
Lightweight Transactions and Paxos - 118, docs
- What is linearizable consistency?
- What is Paxos?
- Explain LWT and Paxos :)
- What is a tombstone?
- What is
GCGraceSeconds
setting and what is the default value for it?
- What is a bloom filter?
- How bloom filter works (on a high level)?
- What is compaction, why it occurs, and what happens during compaction?
- Which compaction strategies are available with Cassandra?
- What is an anti-entropy protocol and how it works?
- How are replica synchronized (two modes)?
- What is a read repair and how it works?
- What is an anti-entropy repair (a.k.a. manual repair) and how it works?
- What is a Merkle tree?
- What is SEDA?
- What are the stages in Cassandra?
- What is
CassandraDaemon
interface used for? What opperations does it support? - What is
EmbeddedCassadnraService
class used for? - What is
ColumnFamilyStore
class used for? - What is
StorageService
class used for? - What is
StorageProxy
class used for? - What is
MessageService
class used for? - What is streaming? Which protocol does it use?
- What is CQL Native Protocol?
- Describe following System keyspaces:
- system.local and system.peers
- system.range_xfers and system.available_ranges
- system_schema.keyspaces, system_schema.tables, and system_schema.columns
- systemmaterialized_views_builds_in_progress, system.built_materialized_views, and syste_schema.materialized_views
- system_schema.types, system_schema.triggers, system_schema.functions, system_schema.aggregates
- system.paxos, system.batchlog
- system.size_estimates