Course outline for Cassandra

Cassandra Course Objectives

The objective of the training is to get learners comfortable with NoSQL database modeling, with specific emphasis on Cassandra. The course helps learners understand the issues with relational database design, common architectural patterns in stateful component design and understand Cassandra in enough detail to be able to develop applications with Cassandra as the backend store.

Pre-requisites for learning Cassandra

  • Participants must have good knowledge of relational databases
  • Participants must be comfortable in a Linux environment
  • Knowledge of state in distributed system architecture is preferred
  • Knowledge of NoSQL databases is preferred

Lab Setup

  • Hardware Configuration
    • 4GB of free RAM, 20GB of free disk space and full network connectivity
  • Software Configuration
    • Ubuntu 20.04/22.04 Desktop/Server Edition

Duration

  • 2-3 Days

Training Mode

Online training for Cassandra

We provide:

  • Instructor led live training
  • Self-paced learning with access to expert coaches
  • 24x7 access to cloud labs with end to end working examples

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for Cassandra

Classroom sessions are conducted in client locations in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR

Note: Classroom training is for corporate clients only

Detailed Course Outline for Cassandra

Overview - SQL/NoSQL

  • Datastore design considerations
  • Relational v/s NoSQL stores
  • Entities, Relationships and Relational Database modeling
  • Problems with Relational Databases
  • NoSQL data modeling
  • CAP theorem
  • When to use Relational/NoSQL?
  • Categories of NoSQL stores
  • Examples of NoSQL stores

Getting Started with Cassandra

  • Dynamo and the history of Cassandra
  • Installing Cassandra
  • Configuring Cassandra
  • Inserting and Querying
  • Client Drivers
  • Cassandra Database Modeling

Cassandra Architecture

  • Cassandra and CAP
  • Tuning Consistency with Consistency Levels
  • Node to node communication and the Gossip protocol
  • Failure Detection
  • Consistent hashing
  • Token Ring/Ranges
  • Replication
  • CommitLog
  • Memtables
  • SSTable

Cassandra Query Language (CQL)

  • Introduction to cqlsh: the CQL shell
  • Definitions
  • Data Types
  • Data Definition
  • Data Manipulation
  • Secondary Indexes
  • Materialized Views
  • Security
  • Functions
  • Arithmetic Operators
  • JSON Support
  • Triggers

Operating Cassandra

  • Snitch
  • Adding, replacing, moving and removing nodes
  • Repair
  • Read repair
  • Compaction
  • Bloom Filters
  • Compression
  • Change Data Capture
  • Backups
  • Bulk Loading
  • Monitoring
  • Security

Working with Client Drivers (Pick One)

  • Using Cassandra via Python
  • Using Cassandra via Node.js