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.