Course outline for Cassandra
TechnologyCassandraDuration
* 2-3 Days
LevelPrerequisites listed
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
- 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
How we train
Online training for Cassandra
- Instructor-led live cohorts
- Self-paced learning with expert coaches
- 24x7 cloud labs with end-to-end examples
All sessions are 100% hands-on. Labs and activities are derived from real-world work our engineers deliver.
Classroom training
Available for corporate teams in:
- Bengaluru
- Chennai
- Hyderabad
- Mumbai
- Delhi/Gurgaon/NCR
- Pune
Note: Classroom training is for corporate clients only.
Self-paced hands-on sessions are delivered via VirtualCoach.
Detailed Course Outline
Hands-onOverview - 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