Systems · paper 05

Bigtable: A Distributed Storage System for Structured Data

Chang et al. · 2006 · OSDI · 55 min · Moderate
Summary

Bigtable is a sparse, sorted, multi-dimensional map: rows are kept in order, split into tablets, and served by tablet servers backed by GFS and an LSM-style write path. Column families and timestamps give applications structure without a relational schema.

Key ideas
  • Sorted row keys turn range scans into locality
  • Tablets split and move as load changes
  • The write path is a memtable plus immutable SSTables
Why read it now

It defined the wide-column model that HBase and Cassandra copied, and shows how range partitioning and sorted storage fit together.

Question to keep in mind

How does choosing a row key decide whether your reads are fast and your writes are hot?

124 online