Course outline for Cassandra
About 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