Wide Column Store
Definition
A wide column store is a NoSQL database that groups rows into partitions, where each row can hold a different and varying set of columns. A partition key is hashed to decide which node stores the data, and a clustering key sorts rows within a partition on disk. Built on an LSM tree, it delivers very high write throughput and linear horizontal scaling, at the cost of joins, ad hoc queries, and multi-partition transactions. It is not the same as a columnar analytics database.
Key Takeaways
- Wide column means flexible, sparse columns per row grouped into partitions. It is not a columnar OLAP store like ClickHouse.
- The partition key places data on a node via consistent hashing; the clustering key sets the on-disk sort order inside a partition.
- You model tables around queries and denormalize, because joins do not exist.
- Writes are cheap thanks to the LSM tree; reads rely on bloom filters and compaction, and deletes leave tombstones.
How It Works
- A write is appended to the commit log and added to an in-memory memtable, then acknowledged.
- A full memtable is flushed to disk as an immutable sorted SSTable; compaction later merges SSTables and drops stale data.
- The partition key hash maps onto a ring (Cassandra, ScyllaDB) or a tablet assignment (Bigtable, HBase) to pick the owning node.
- Consistency is tunable per query, letting you trade latency and availability against how many replicas must agree.
Where It Is Used
- Netflix stores viewing history in Cassandra; Discord keeps trillions of messages in ScyllaDB.
- Google Bigtable backs Search indexing, Analytics, and Maps.
- Apache HBase powers wide column workloads in the Hadoop ecosystem.