Company
Date Published
Aug. 14, 2012
Author
Brandon Williams
Word count
993
Language
English
Hacker News points
None

Summary

Dynamic snitching is a feature in Apache Cassandra that determines which datacenters and racks are both written to and read from. It works by monitoring the performance of reads from various replicas and choosing the best one based on this history. The badness threshold parameter allows for maximizing cache capacity when the consistency level is ONE, ensuring availability even if a replica performs worse than others. Dynamic snitching doesn't determine replica placement itself; it simply wraps your chosen snitch and provides adaptive behavior on reads. In upcoming releases of Cassandra, improvements to dynamic snitching include using statistically significant random samples for updates, considering factors like compaction status when choosing a node, and penalizing unresponsive nodes based on time elapsed since the last reply.