Cassandra High Level View¶
Understanding the architecture¶
Note
In this section we will go through few “Understanding the architecture”
Architecture in brief¶
Essential information for understanding and using Cassandra.
Internode communications (gossip)¶
Cassandra uses a protocol called gossip to discover location and state information about the other nodes participating in a Cassandra cluster.
Data distribution and replication¶
How data is distributed and factors influencing replication.
Partitioners¶
A partitioner determines how data is distributed across the nodes in the cluster (including replicas).
Snitches¶
A snitch determines which datacenters and racks nodes belong to.
Database Internals¶
Note
In this section we will go through few “Database Internals” of cassandra.
Storage engine¶
A description about Cassandra’s storage structure and engine.
How Cassandra reads and writes data¶
Understanding how Cassandra stores data.
Data consistency¶
Topics about how up-to-date and synchronized a row of data is on all replicas.
configuration¶
Note
In this section we will go through few “configuration” of cassandra.
cassandra.yaml¶
The cassandra.yaml file is the main configuration file for Cassandra.
Cassandra include file¶
Set environment variables (cassandra.in.sh).
Security¶
Topics for securing Cassandra.
Configuring gossip settings¶
Using the cassandra.yaml file to configure gossip.
Configuring the heap dump directory¶
Analyzing the heap dump file can help troubleshoot memory problems.
Configuring virtual nodes¶
Topics about configuring virtual nodes.
Using multiple network interfaces¶
Steps for configuring Cassandra for multiple network interfaces or when using different regions in cloud implementations.
Configuring logging¶
Cassandra logging functionality using Simple Logging Facade for Java (SLF4J) with a logback backend.
Commit log archive configuration¶
Cassandra provides commit log archiving and point-in-time recovery.
Change Data Capture (CDC) logging¶
Change Data Capture (CDC) logging captures changes to data.
Generating tokens¶
If not using virtual nodes (vnodes), you must calculate tokens for your cluster.
Hadoop support¶
Cassandra support for integrating Hadoop with Cassandra.
Initializing a cluster¶
Note
In this section we will go through few “Initialization a cluster” of cassandra.
Initializing a multiple node cluster (single datacenter)¶
A deployment scenario for a Cassandra cluster with a single datacenter.
Initializing a multiple node cluster (multiple datacenters)¶
A deployment scenario for a Cassandra cluster with multiple datacenters.
Starting and stopping Cassandra¶
Topics for starting and stopping Cassandra.
Operations¶
Note
In this section we will go through few “Operations” of cassandra.
Cassandra operation topics, such as node and datacenter operations, changing replication strategies, configuring compaction and compression, caching, and tuning Bloom filters.
Adding or removing nodes, datacenters, or clusters¶
Topics for adding or removing nodes, datacenters, or clusters.
Backing up and restoring data¶
Cassandra backs up data by taking a snapshot of all on-disk data files (SSTable files) stored in the data directory.
Repairing nodes¶
Node repair topics.
Monitoring Cassandra¶
Monitoring topics.
Tuning Java resources¶
Tuning the Java Virtual Machine (JVM) can improve performance or reduce high memory consumption.
Data caching¶
Data caching topics.
Configuring memtable thresholds¶
Configuring memtable thresholds to improve write performance.
Configuring compaction¶
Steps for configuring compaction. The compaction process merges keys, combines columns, evicts tombstones, consolidates SSTables, and creates a new index in the merged SSTable.
Compression¶
Compression maximizes the storage capacity of Cassandra nodes by reducing the volume of data on disk and disk I/O, particularly for read-dominated workloads.
Testing compaction and compression¶
Enabling write survey mode. Tuning Bloom filters Cassandra uses Bloom filters to determine whether an SSTable has data for a particular row.
Moving data to or from other databases¶
Solutions for migrating from other databases.
Purging gossip state on a node¶
Correcting a problem in the gossip state.
Cassandra tools¶
Note
In this section we will go through few “Cassandra tools” of cassandra.
The nodetool utility¶
A list of the available commands for managing a cluster.
The cassandra utility¶
You can start Cassandra 3.0 and 3.1 by adding them to the cassandra-env.sh file (package or tarball installations) or entering them at the command line in tarball installations.
The cassandra-stress tool¶
A Java-based stress testing utility for basic benchmarking and load testing a Cassandra cluster.
SSTable utilities¶
Tools for using, upgrading, and changing Cassandra SSTables.
Note
Will go through in more details about these.