Column-Family Databases
Column-family databases store data in column groups rather than rows, optimizing for read-heavy analytical queries that access a few columns across many records. They suit workloads like time-series data, event logging, and wide-table patterns at scale.
itDatabases and data storage | OpenSkills.info
Intro
Column-Family Databases
A column-family database organizes data around row keys and groups of related columns. You may also see the category called a wide-column database.
The useful idea is not a table with an enormous fixed set of columns. It is a distributed, sparse map. Each row can contain the columns it needs. Missing columns consume no cell storage in systems such as Bigtable. A column family groups related columns and can also define storage or retention behavior.
This model grew from systems built for datasets and request rates that were difficult to place on one machine. Google's 2006 Bigtable paper described a distributed storage system for structured data at very large scale. Apache HBase follows the Bigtable data model. Apache Cassandra combines a wide-column interface with its own Dynamo-influenced distribution and replication design.
Those products share vocabulary, but they are not interchangeable. Their query languages, consistency choices, transaction boundaries, deployment models, and storage controls differ. Learn the common model first. Then verify every operational decision against the product you use.
The core mental model
Read a logical cell address from left to right:
row key -> column family -> column qualifier -> timestamp -> value
- The row key identifies a row and controls how rows are ordered or partitioned.
- The column family groups related columns. You define families deliberately and keep their number small.
- The column qualifier names one column inside a family. Qualifiers can vary from row to row.
- The timestamp identifies a cell version in Bigtable-style models.
- The value is the stored data.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://research.google/pubs/bigtable-a-distributed-storage-system-for-structured-data/
Supports
- Bigtable as a distributed storage system designed for very large structured datasets
- Original Bigtable data model and historical foundation
- Research-paper link rationale
- https://cloud.google.com/bigtable/docs/overview
Supports
- Sorted key-value map, rows, row keys, column families, qualifiers, and timestamped cells
- Sparse storage and multiple cell versions
- Bigtable service and tablet orientation
- Bigtable overview link rationale
- https://cloud.google.com/bigtable/docs/schema-design
Supports
- Query-driven schema and efficient key, prefix, and range reads
- Lexicographic row order, row-level atomicity, and lack of joins
- Column-family grouping and family-level garbage-collection policies
- Hotspot causes, timestamp-first key risk, row growth, and time-based keys
- Bigtable schema-design link rationale
- https://hbase.apache.org/
Supports
- HBase as an open-source distributed store modeled after Google Bigtable
- Bigtable-like capabilities on Hadoop and HDFS
- HBase project link rationale
- https://hbase.apache.org/docs/datamodel/
Supports
- HBase row keys, column families, qualifiers, cells, timestamps, and versions
- Column families as physical storage groups with shared properties
- Flexible qualifiers and sparse row view
- Get, Put, Scan, Delete, and separately documented ACID semantics
- HBase data-model link rationale
- https://cassandra.apache.org/doc/stable/cassandra/architecture/overview.html
Supports
- Cassandra as a distributed database with a partitioned wide-column model
- Bigtable and Dynamo design influences
- Cassandra keyspaces, tables, partitions, rows, and columns
- Multi-primary replication goals and key-oriented queries
- Cassandra architecture link rationale
- https://cassandra.apache.org/doc/latest/cassandra/developing/data-modeling/intro.html
Supports
- Query-driven Cassandra tables and denormalization
- Partition keys and clustering keys
- Lack of foreign keys and relational integrity
- Partition growth, redundancy, and consistency as analysis concerns
- Cassandra data-modeling link rationale
