This chapter covers
- The concept of partitioning
- Static and dynamic partitioning
- Vertical and horizontal partitioning
- Item-based lookup versus directory-based lookup
- Common strategies
Two techniques are essential for guaranteeing the scalability and reliability of a distributed system: partitioning and replication. Partitioning seeks to overcome the scalability limitations of a single component; replication seeks to overcome the reliability limitations of a single component. First up: partitioning. Chapter 8 covers replication.
7.1 Encyclopedias and volumes
When I was a teenager, one of my most cherished possessions was a small encyclopedia. An encyclopedia is a compilation of entries that are sorted alphabetically. My encyclopedia was too extensive to fit into a single book; instead, it was divided into volumes (see figure 7.1).
Figure 7.1 Encyclopedias and volumes

The encyclopedia represents a logical object, and the volumes represent physical objects. Logically, the encyclopedia contains all entries, but physically, the volumes contain disjoint subsets of entries.
The authors could have placed any item in a randomly selected volume, but doing so would have made the encyclopedia useless. If I needed to find an item, I would be forced to scan the entire encyclopedia to locate the item or come to the realization that the item doesn’t exist.