Live Online (VILT) & Classroom Corporate Training Course

This course provides an in-depth introduction to using Cassandra and with a focus on the practical aspects of working with C*.
Cassandra Logo

How can we help you?

  • CloudLabs
  • Projects
  • Assignments
  • 24x7 Support
    24x7 Support
  • Lifetime Access
    Lifetime Access


In this course, participants learn the internal architecture and CQL (Cassandra Query Language), as well as the Java API for writing Cassandra clients.



At the end of Cassandra training course, participants will

  • Understand the needs that C* addresses
  • Be familiar with the operation and structure of C*
  • Be able to install and set up a C* database
  • Use the C* tools, including cqlsh, nodetool, and ccm (Cassandra Cluster Manager)
  • Be familiar with the C* architecture, and how a C* cluster is structured
  • Understand how data is distributed and replicated in a C* cluster
  • Understand core C* data modeling concepts, and use them to create well-structured data models
  • Use data replication and eventual consistency intelligently
  • Understand and use CQL to create tables and query for data
  • Know and use the CQL data types (numerical, textual, uuid, etc.)
  • Understand the various kinds of primary keys available (simple, compound, and composite primary keys)
  • Use more advanced capabilities like collections, counters, secondary indexes, CAS (Compare and Set), static columns, and batches
  • Be familiar with the Java client API
  • Use the Java client API to write client programs that work with C*
  • Build and use dynamic queries with QueryBuilder
  • Understand and use asynchronous queries with the Java API


Participants should have reasonable Java experience and some knowledge of databases.


Course Outline

  • Why We Need Cassandra
  • High level Cassandra Overview
  • Cassandra Features
  • Basic Cassandra Installation and Configuration

  • Cassandra Architecture Overview
  • Cassandra Clusters and Rings
  • Data Replication in Cassandra
  • Cassandra Consistency / Eventual Consistency
  • Introduction to CQL
  • Defining Tables with a Single Primary Key
  • Using cqlsh for Interactive Querying
  • Selecting and Inserting/Upserting Data with CQL
  • Data Replication and Distribution
  • Basic Data Types (including uuid, timeuuid)

  • Defining a Compound Primary Key
  • Additional Querying Capabilities
  • Data Modeling Guidelines
  • Composite Partition Keys

  • Indexing
  • Cassandra Counters
  • Cassandra collections
  • Static Column: Overview and Usage
  • Static Column Guidelines
  • Materialized View: Overview and Usage
  • Materialized View Guidelines

  • Overview of Consistency in Cassandra
  • CAP Theorem
  • Eventual (Tunable) Consistency in C* – ONE, QUORUM, ALL
  • Choosing CL ONE
  • Choosing CL QUORUM
  • Achieving Immediate Consistency
  • Using other Consistency Levels
  • Internal Repair Mechanisms (Read Repair, Hinted Handoff)

  • Overview of Lightweight Transactions
  • Using LWT, the [applied] Column
  • IF EXISTS, IF NOT EXISTS, Other IF conditions
  • Basic CAS Internals
  • Overhead and Guidelines

  • Dealing with Write Failure
    • Unavailable Nodes and Node Failure
    • Requirements for Write Operations
  • Key and Row Caches
    • Cache Overview
    • Usage Guidelines
  • Multi-Data Center Support
    • Overview
    • Replication Factor Configuration
    • Additional Consistency Levels – LOCAL/EACH QUORUM
  • Deletes

  • API Overview
  • Connecting to a Cluster
  • The Query API
  • Dynamic Queries and QueryBuilder
  • Configuring Query Behavior
  • Asynchronous Querying Overview