106

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

Hakan Fıstık
  • 16,800
  • 14
  • 110
  • 131
satish
  • 2,425
  • 3
  • 23
  • 40

2 Answers2

177

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.

JRajan
  • 672
  • 4
  • 19
edmz
  • 3,350
  • 2
  • 22
  • 29
82

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. Ways 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.

GoldFlsh
  • 1,095
  • 2
  • 11
  • 26
BigSack
  • 933
  • 6
  • 8
  • 25
    The statement *"**Reasons** to scale vertically include increasing IOPS, increasing CPU/RAM capacity, and increasing disk capacity"* does **not** make sense. Those are not *reasons* to scale vertically, those are *how* you scale vertically; *reasons* to scale vertically should explain *why* one should scale vertically, not the *how*. – Nawaz May 22 '17 at 11:48