Wide-Column Store
A store organised as partitions of sorted rows, designed for very high write throughput and predictable single-partition reads at large scale.
Cassandra, ScyllaDB, HBase and Bigtable. The data model is a partition key that determines placement, plus clustering columns that determine sort order within the partition.
The discipline it imposes is the point: you design the table for the query, not the entity. There are no joins, no ad-hoc queries and no query planner to rescue a bad access pattern. If you need the same data by two different access paths, you write it twice into two tables. That feels wrong coming from relational modelling and it is exactly the trade being made — flexibility exchanged for predictable performance at scale.
What it buys: linear horizontal scaling, high write throughput (LSM storage, sequential writes), no single primary, and multi-region replication with tunable consistency.
Where it goes wrong: choosing a partition key that produces unbounded partitions or hot ones. This is
the failure mode, and it is why the Discord (channel_id, bucket) key is instructive — bound the
partition and match the read pattern.