May 23, 2015

Cassandra On AWS - Part 2 - Scaling Strategy

This is the second part of the Cassandra series. Here I will discuss about the various scaling strategies that could be applied for scaling a Cassandra cluster.

Scaling Cassandra

Cassandra scaling will be based on two factors :
  • Request-Response Latency
  • Amount of disk space left on the Cassandra node.
The cluster will always scale up and never down. Scaling up will improve the latency of a request and also provide new disk space to provide new incoming data. Scaling will be done at a cluster level as follows :

Strategy #1

  • Select the cluster to scale.
  • Select AZ’s with low number of nodes.
  • Choose two AZ’s and add one node to each of the AZ’s.

Strategy #2

  • A cluster will always have a minimum of 3 nodes. Hence scaling in a cluster will be achieve in increments of 3 nodes.
  • If a region has 3 AZ’s then add one node to each AZ.
  • If a region has less than 3 AZ’s then one of the AZ's will end up having more nodes than the other AZ.

Example Scale Out Trigger Points

  • Latency > 500ms for more than 1 minute.
  • Scale when disk space remaining is less than 30% of the total available diskspace on the node.