Database Reference
In-Depth Information
change the snitch for your cluster, you must make the change in the configuration
file and then restart the entire cluster.
Simple
Taking advantage of the SimpleSnitch requires very little setup or knowledge.
The reason for that is the SimpleSnitch does not know anything about the data
center settings or racks. The SimpleSnitch is good for a single machine or even
a single-data-center deployment. You can even think of a single data center
as one zone in a cloud architecture. When you are setting the SimpleSnitch,
you need to remember to put the replication_factor=# in your keyspace
strategy_options .
Dynamic
Dynamic snitching is actually a layer of the snitch protocol that exists in all
snitches besides the SimpleSnitch. It wraps your chosen snitch and provides an ad-
ditional adaptive layer for determining the best possible read locations. However,
it is possible for that adaptive layer to become counterproductive. The Dynam-
icSnitch uses latency possibility calculations to determine the best approach. There
are certain circumstances in which those calculations can take longer than the
query itself. In order to avoid that, the DynamicSnitch takes a two-pronged ap-
proach. The first option is for the DynamicSnitch to use recent update statistics.
The second is to calculate a score for each host and run the query based on the best
score.
There are a few potential issues with the calculation of scores and update
checks with regard to the DynamicSnitch. What happens if a node is in the middle
of a compaction? What happens if the hardware on that node isn't as powerful as
some of the other nodes (since Cassandra is made to run on commodity hardware)?
What happens if a node hasn't been able to check in because the coordinator node
is overloaded? What happens if there isn't any information for the snitch to use to
make a decision? And even more pressing, if all necessary information exists, is
using latency the best approach for determining performance capabilities?
Rack Inferring
The RackInferringSnitch works by assuming it knows the topology of your net-
work, by the octets in a node's IP address. For instance, if you have a Cassandra
node at 10.20.30.1, the RackInferringSnitch will assume the following breakdown:
Search WWH ::




Custom Search