Chapter 20

Key-Range Partitions

Partition data in sorted key ranges to efficiently handle range queries.

Problem

To split data across a set of cluster nodes, each data item needs to be mapped to a node. If users want to query a range of keys, specifying only the start and end key, all partitions will need to be queried for the values to be acquired. Querying every partition for a single request is far from optimal.

Take a key-value store as an example. We can store the author names using hash-based mapping, as in Fixed Partitions (Table 20.1).

Table 20.1 Key Mapping to Cluster Nodes Using Hash of a Key

Keys

Hash

Partition = Hash % Number of partitions (9)

Node

alice

133299819613694460644197938031451912208

0

0

bob

63479738429015246738359000453022047291 ...

Get Patterns of Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.