Why it matters
Coming from SQL, Cassandra's model feels wrong until it clicks. Once you internalize query-first design, patterns emerge that scale to billions of rows. Getting the data model right is everything.
The architecture
Partition key: first part of primary key. Hashed to determine which node stores the data. All rows sharing partition key live together.
Clustering columns: subsequent parts. Order rows within a partition. Enable range queries within partition.
How it works end to end
Query patterns dictate schema. Need to query orders by customer? Partition by customer_id. Need to query by date too? Add date as clustering column.
Multiple access patterns → multiple tables. Duplicate data, keep in sync via writes.
Denormalization is embraced. Joins don't exist. Storage is cheap; disk is scaled by adding nodes.