Apache Cassandra Fundamentals
Apache Cassandra is a distributed NoSQL database designed for high write throughput and availability across multiple data centers. It uses a peer-to-peer architecture with tunable consistency, making it suited for workloads that prioritize uptime and horizontal scalability over strong transactional guarantees.
itDatabases and data storage | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Apache Cassandra Fundamentals
Apache Cassandra is a database that declines to appoint one machine as the important one. Data lives in partitions across a cluster, with replicas holding copies, so a request can still find a route when a node or site has a difficult day. This is not magic. It is a rather stern agreement between the application, the data model, and the operators.
The agreement begins with the partition key. It turns a query into a destination: Cassandra hashes that key to a token, then sends the work to the replicas for that token range. A table is therefore not a neutral container for business entities. It is a promise about the questions an application will ask. Put device events for one device and day together, for example, and the useful time-range query has somewhere definite to go. Put every event for a busy device together forever, and the partition becomes a small, private weather system.
The node a client contacts is the coordinator for that one request. It asks the appropriate replicas for responses and applies the selected consistency level. Replication factor says how many copies are stored. Consistency level says how many responses are required now. They are related, as umbrellas and rain are related, but neither is the other.
Inside each replica, a write reaches a commit log and a memtable before it becomes an immutable SSTable on disk. That makes writes friendly to the foreground path. It also creates later work: reads may reconcile several structures, and compaction must merge files and process old values. A deletion is a tombstone, not an instant disappearance, because replicas need time to learn that an old value is gone.
That is why repair matters. Hints can help after a missed write, but repair compares replica data and streams differences so the copies converge. Adding nodes can spread token ranges. It cannot rescue an unbounded partition key, cancel compaction, or turn a relational join into a Cassandra query. The database is polite about these limits only until production traffic arrives.
Read the Intro when you need the whole request and storage path. Use Slides for the chain from query to replicas to SSTables. Keep the Cheatsheet nearby when distinguishing replication from consistency, or tombstones from repair. The Reference tab is the route from this mental map into CQL, modeling, and production operations.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://cassandra.apache.org/doc/5.0/cassandra/getting-started/index.html
Supports
- Official beginner path through installation, configuration, data access, drivers, and production recommendations
- Getting-started link rationale and ordered learning path
- Disposable local CQL practice reference
- https://cassandra.apache.org/doc/5.0/cassandra/architecture/overview.html
Supports
- Cassandra as an open-source distributed NoSQL database with a partitioned wide-column model
- Keyspaces, tables, partitions, rows, columns, and CQL capabilities
- Unsupported distributed joins, foreign keys, referential integrity, and cross-partition transactions
- Operational tools, snapshots, and incremental backups
- https://cassandra.apache.org/doc/5.0/cassandra/architecture/dynamo.html
Supports
- Consistent-hash token ring, token ranges, virtual nodes, and scale-out behavior
- Multi-primary replication, coordinators, replicas, and tunable consistency
- Replication factor, NetworkTopologyStrategy, datacenter factors, racks, and snitches
- Last-write-wins mutation reconciliation
- https://cassandra.apache.org/doc/5.0/cassandra/architecture/storage-engine.html
Supports
- Log-structured merge storage-engine orientation and write-path tradeoffs
- Commit log, memtable, immutable SSTable, Bloom filter, and flush behavior
- Compaction, read amplification, and write amplification
- SSTable row ordering by partition and clustering keys
- https://cassandra.apache.org/doc/5.0/cassandra/architecture/guarantees.html
Supports
- Cassandra availability, durability, scalability, and eventual-consistency guarantees
- Linearizable lightweight transactions
- CAP tradeoff terminology used in the course
- https://cassandra.apache.org/doc/5.0/cassandra/developing/data-modeling/intro.html
Supports
- Query-driven data modeling and table-per-query reasoning
- Denormalization because joins are not supported
- Partition-key distribution and the cost of multi-partition reads
- Modeling from application access patterns
- https://cassandra.apache.org/doc/5.0/cassandra/developing/cql/index.html
Supports
- CQL version 3 and its SQL-like table, row, and column surface
- CQL reference scope for schema, data manipulation, indexing, functions, and security
- https://cassandra.apache.org/doc/5.0/cassandra/developing/cql/ddl.html
Supports
- Keyspaces, tables, primary keys, replication strategy, and replication factor
- Primary-key grammar and table schema concepts
- https://cassandra.apache.org/doc/5.0/cassandra/managing/operating/compaction/overview.html
Supports
- SSTable merging and compaction types
- Tombstones, time to live expiration, grace periods, and deletion safety
- Compaction as ongoing input and output work
- https://cassandra.apache.org/doc/5.0/cassandra/managing/operating/repair.html
Supports
- Hints as best effort and repair as replica synchronization
- Token-range comparison, Merkle trees, and difference streaming
- Incremental and full repair behavior and resource cost
- Need to complete repair before tombstone grace expires
- https://cassandra.apache.org/doc/5.0/cassandra/managing/operating/index.html
Supports
- Official operating areas for backups, compaction, hints, monitoring, repair, security, and topology changes
- Production-ownership link rationale
- https://cassandra.apache.org/_/blog/GSoD-Proposal-2023.html
Supports
- Cassandra first released in 2008
- https://archive.apache.org/dist/cassandra/0.6.0/
Supports
- Apache Cassandra 0.6 archive release
- https://archive.apache.org/dist/cassandra/1.0.1/
Supports
- Apache Cassandra 1.0.1 distribution published in October 2011
- https://cassandra.apache.org/doc/stable/cassandra/architecture/storage-engine.html
Supports
- Apache Cassandra 1.2 and 2.0 SSTable storage-format milestones
- https://cassandra.apache.org/_/blog/Apache-Cassandra-4.0-is-Here.html
Supports
- Apache Cassandra 3.0 release date and 4.0 release date
- Cassandra 4.0 validation and testing practices
- https://cassandra.apache.org/_/blog/Apache-Cassandra-Changelog-15-May-2022.html
Supports
- Apache Cassandra 4.1 branch freeze in May 2022
- https://cassandra.apache.org/_/blog/Apache-Cassandra-5.0-Announcement.html
Supports
- Apache Cassandra 5.0 general availability and its major capabilities
- Cassandra 3.x end-of-life announcement
- https://thelastpickle.com/blog/2017/12/14/should-you-use-incremental-repair.html
Supports
- Repair completion before tombstone grace to prevent zombie data
- https://acemq.com/use-cases/cassandra-tombstone-read-timeout-remediation/
Supports
- Wide-partition queue tombstone scans and access-pattern remediation
- https://aws.amazon.com/keyspaces/
Supports
- Amazon Keyspaces as a managed Cassandra-compatible CQL service
- https://docs.datastax.com/en/astra-db-classic/databases/create-database.html
Supports
- Astra managed databases built on Apache Cassandra
- https://www.scylladb.com/wp-content/uploads/wp-best-of-cassandra-without-java-overhead.pdf
Supports
- ScyllaDB as a Cassandra-compatible implementation comparison
