Scaling alters the size of a system. In the scaling process, we 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, by adding a new system to the existing one, or both.
Types of Scaling:

Scaling can be categorized into 2 types:
- Vertical Scaling: When new resources are added to the existing system to meet the expectation, it is known as vertical scaling.
Consider a rack of servers and resources that comprises 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 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.
- Horizontal Scaling: When new server racks are added to the existing system to meet the higher expectation, it is known as horizontal scaling.
Consider a rack of servers and resources that comprises 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 horizontal scaling. Horizontal scaling is based on the idea of adding more machines to our pool of resources. Horizontal scaling is difficult and also costlier than Vertical Scaling. It also requires more time to be fixed.
Differences between Horizontal and Vertical Scaling are as follows:
Horizontal Scaling |
Vertical Scaling |
When new server racks are added to the existing system to meet the higher expectation, it is known as horizontal 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 horizontally. |
It expands the size of the existing system vertically. |
It is easier to upgrade. |
It is harder to upgrade and may involve downtime. |
It is difficult to implement |
It is easy to implement |
It is costlier, as new server racks comprise a lot of resources |
It is cheaper as we need to just add new resources |
It takes more time to be done |
It takes less time to be done |
High resilience and fault tolerance |
Single point of failure |
Examples of databases that can be easily scaled- Cassandra, MongoDB, Google Cloud Spanner |
Examples of databases that can be easily scaled- MySQL, Amazon RDS |
Unlock the Power of Placement Preparation!
Feeling lost in OS, DBMS, CN, SQL, and DSA chaos? Our
Complete Interview Preparation Course is the ultimate guide to conquer placements. Trusted by over 100,000+ geeks, this course is your roadmap to interview triumph.
Ready to dive in? Explore our Free Demo Content and join our
Complete Interview Preparation course.
Last Updated :
06 Apr, 2023
Like Article
Save Article