Chang, Fay, et al. "Bigtable: A Distributed Storage System for Structured Data." OSDI, 2006. (PDF)
Bigtable is a storage system for structured data; it is essentially a compressed, horizontally partitioned, column-oriented database with some interesting properties that allow it to reach "web scale".
As you read the paper, consider the following questions:
- In what ways does Bigtable replicate the behavior of a relational database? How is it different?
- Could Google have built Bigtable using a relational system? Would that have been a good idea? Why or why not?
- What consistency guarantees does Bigtable provide in the face of failures?
- What is a distributed lock service?