One of the major benefits of distributed systems is scalability.
Scalability
Scalability lets us store and process datasets much larger than what we could with a single machine.
Mechanism to achieve scalability
One of the primary mechanisms of achieving scalability is partitioning.
Partitioning
Partitioning is the process of splitting a dataset into multiple, smaller datasets, and then assigning the responsibility of storing and processing them to different nodes of a distributed system. This allows us to add more nodes to our system and increase the size of the data it can handle.
There are two different variations of partitioning:
- Vertical partitioning
- Horizontal partitioning (or