DEV Community

Dinh Vo
Dinh Vo

Posted on

Horizontal and Vertical Scaling In Databases

Scaling alters size of a system. In the scaling process, I either compress or expand the system to meet the expected needs. The scaling operation can be achieved by adding resources to meet the smaller expectation in the current system, or by adding a new system in the existing one, or both.
Types of Scaling:

Image description

Scaling can be categorised into 2 types:

  1. Vertical Scaling: When new resources are added in the existing system to meet the expectation, it is known as vertical scaling.
    Consider a rack of servers and resources that comprises of the existing system. (as shown in the figure). Now when the existing system fails to meet the expected needs, and the expected needs can be met by just adding resources, this is considered as vertical scaling. Vertical scaling is based on the idea of adding more power(CPU, RAM) to existing systems, basically adding more resources. Vertical scaling is not only easy but also cheaper than Horizontal Scaling. It also requires less time to be fixed.

  2. Horizontal Scaling: When new server racks are added in the existing system to meet the higher expectation, it is known as horizontal scaling.
    Consider a rack of servers and resources that comprises of the existing system. (as shown in the figure). Now when the existing system fails to meet the expected needs, and the expected needs cannot be met by just adding resources, we need to add completely new servers. This is considered as horizontal scaling.
    Horizontal scaling is based on the idea of adding more machines into our pool of resources
    Horizontal scaling is difficult and also costlier than Vertical Scaling. It also requires more time to be fixed.

Difference between Horizontal and Vertical Scaling:
Horizontal Scaling

  • When new server racks are added in the existing system to meet the higher expectation, it is known as horizontal scaling.
  • It expands the size of the existing system horizontally.
  • It is easier to upgrade.
  • It is difficult to implement
  • It is costlier, as new server racks comprises of a lot of resources
  • It takes more time to be done

Vertical Scaling

  • When new resources are added in the existing system to meet the expectation, it is known as vertical scaling
  • It expands the size of the existing system vertically.
  • It is harder to upgrade and may involve downtime.
  • It is easy to implement
  • It is cheaper as we need to just add new resources
  • It takes less time to be done

Top comments (0)