Cassandra

Based on the Amazon Dynamo paper
Ring topology
peer-to-peer, gossip protocol
no special nodes
Distributed Hash Table
eventually consistent, tunable

Use vnodes whenever possible to avoid issues with topology changes, node rebuilds, hotspots, and heterogeneous clusters.

vnodes mean more ranges, which makes it easier to give a range to a new node

Partitioners


cqlsh



port 9042

nodetool



https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsNodetool_r.html

#  Checking node repair
nodetool netstats
nodetool compactionstats

Topologies



Uses 'snitches'

Per-Query Consistency


ANY/ONE/QUORUM/LOCAL_QUORUM/ALL

Resources


.. todo
http://docs.datastax.com/en/cql/3.1/cql/ddl/ddl_when_use_index_c.html
http://docs.datastax.com/en/cql/3.1/cql/ddl/ddl_intro_c.html
http://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views
http://www.datastax.com/dev/blog/2012-in-review-performance
http://www.planetcassandra.org/try-cassandra/
http://www.planetcassandra.org/blog/cassandra-native-secondary-index-deep-dive/
https://www.instaclustr.com/blog/2016/01/27/apache-cassandra-compaction/
https://tobert.github.io/pages/als-cassandra-21-tuning-guide.html