What does scale horizontally and scale vertically mean?

DatabasePerformanceScalability

Database Problem Overview


In a three layer architecture with the database on the fourth, what does scaling horizontally and scaling vertically mean?

Database Solutions


Solution 1 - Database

In simple terms, to scale horizontally is adding more servers. Vertically to increase the resources of the server.

You can find more info on Wikipedia.

Solution 2 - Database

Vertical Scaling

Vertical scaling, or improving the capabilities of a node/server, gives greater capacity to the node but does not decrease the overall load on existing members of the cluster. That is, the ability for the improved node to handle existing load is increased, but the load itself is unchanged. Reasons to scale vertically include increasing IOPS, increasing CPU/RAM capacity, and increasing disk capacity.

Horizontal Scaling

Horizontal scaling, or increasing the number of nodes in the cluster, reduces the responsibilities of each member node by spreading the keyspace wider and providing additional endpoints for client connections. That is, the capacity of each individual node does not change, but its load is decreased. Reasons to scale horizontally include increasing I/O concurrency, reducing the load on existing nodes, and increasing disk capacity.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsatishView Question on Stackoverflow
Solution 1 - DatabaseedmzView Answer on Stackoverflow
Solution 2 - DatabaseBigSackView Answer on Stackoverflow