...

/

Algorithms for Horizontal Partitioning

Algorithms for Horizontal Partitioning

Let's look into the algorithms used for horizontal partitioning.

There are a lot of different algorithms we can use to perform horizontal partitioning. We will study some of these algorithms, and discuss their advantages and drawbacks.

Range partitioning

Range partitioning is a technique where we split a dataset into ranges according to the value of a specific attribute. We then store each range in a separate node. The case we described in the previous lesson—with the alphabetical split—is an example of range partitioning.

Of course, the system should store and maintain a list of all these ranges and map which node stores a specific range. In this way, the system consults this node map whenever the system receives a request for a specific value (or a range of values) to identify which node (or nodes, respectively) the request should be redirected to.

Advantages of range partitioning

Some advantages of range partitioning include:

  • Simplicity and ease of implementation.

  • The ability to perform range queries using the partitioning key value.

  • A good performance for range queries that use the partitioning key, when the queried range is small and resides in a single node. ...