Cassandra Onsite Training Course

Cassandra Training

Cassandra Database 3.9, CQL 3.3, and programming with Cassandra Training

Training for DevOps, DBA, Architects and Developers

This Cassandra course teaches the basics of the Cassandra Database with a focus on successful production deployments.

The Cassandra NoSQL database is one of the most powerful and widely used non-relational databases available today. It is a fault tolerant, highly scalable database with tunable consistency that meets the demanding requirements of the can’t fail, must scale systems driving growth for many of the most successful enterprises of today. However, along with that capability comes a new data and programming model that many organizations lack the expertise to use in an optimal fashion.

Apple, Comcast, eBay, GitHub, GoDaddy, Hulu, Instagram, Facebook, Netflix, Reddit, The Weather Channel, and many more companies use Cassandra. Cassandra specializes in high-speed writes and linear scale-out.

This course provides a technical introduction to all the conceptual and practical areas needed to use the Cassandra Database successfully, and deploy to production. It is written expressly for the new capabilities in the recent versions of the Cassandra Database, including CQL3 and the new DataStax Java driver (other programming languages available). The course provides a solid foundation in the architecture and data model of the Cassandra Database and how to work with it. It covers CQL3 in detail, as well as important data modeling techniques to optimize your usage of the database. It includes in-depth coverage of the new Java driver for the Cassandra Database, as well as a full-scale application based on a stock-trading system (StockWatcher) that uses the driver.

After taking this course, you will be ready to work with Cassandra in an informed and productive manner, including using CQL3 and the new Java driver. You will be aware of some common pitfalls as well as best practices for creating your data model and applications. You will gain a clear understanding of how Cassandra works, and be fully prepared to use it in production systems.

The latest version of Cassandra adds pagination, materialized views, improved indexing, and tracing.

We provide more than just developer training. We provide the training to maximize your developer and DevOps expertise.

Why choose us and our Cassandra Course

We have successfully deployed the Cassandra database at large fortune 100s and very high traffic web properties. We have the experience to deploy and monitor Cassandra clusters running in AWS EC2. We have been there and done that and understand when and where Cassandra certain features makes sense and how to avoid common pitfalls with Cassandra.

AWS Cassandra and Cassandra as a Service

Our company is setup to support tools like Cassandra running in AWS EC2. We have deployed 100 million user microservices in AWS using NoSQL solutions. We provide Cassandra support, AMI images for Cassandra, CloudFormation templates, and tools for collecting metrics and logs to support Cassandra in AWS via CloudWatch. Supporting Cassandra in production in AWS, EC2, and S3. This is what we do.

You can be assured that the person teaching the course is a battle-hardened expert. Contact us to book onsite training today. Call to book 1-415-758-1113.

”(The instructor) taught an onsite course at our office…. I highly recommend (the instructor). The training was thorough and the examples were non-trivial. … He was ready with answers to the most detailed of questions.” –Jack

“He’s an engaging instructor who is genuinely interested in his client’s results. He did a great job customizing our course content to meet our exact needs. A few months earlier we had another vendor teach a similar course without nearly the same positive results. “ –John

”(The instructor) knowledge of … technologies is both deep and wide. His training and mentoring skills are the best that I’ve come across. His passion and proficiency has been inspiring for me and many others in the development community.” –Tom

(The instructor) delivered what was hands-down the best technical training I’ve ever received. He also played a key role on a large project, and it was always a great pleasure to work with him. –Aaron

Being a consultant as well as an teacher, he speaks from experience and possesses a deep knowledge of his subject areas. Highly recommended. –Thomas

Cassandra Course Information

Duration: 3 to 4 days

Labs: Minimum 50% hands-on labs

Prerequisites

Reasonable Java experience for the Java driver labs, some knowledge of databases

Supported Platforms:

Cassandra 3 and CQL 3.3 on Linux Operating Systems (VM provided for labs)

Skills Gained:

  • Understand the motivation for non-relational data stores
  • Understand Cassandra at a high-level
  • Basic installation / setup of Cassandra, and how an installation is structured
  • Understand the Cassandra architecture, including the cluster structure and partitioners
  • Understand and use data replication and eventual consistency with Cassandra
  • Learn the basics of the Cassandra data model, and how to create good data models
  • Use CQL 3 to create tables and execute queries
  • Learn and use cqlsh
  • Know the standard CQL data types
  • Understand and use primary keys, compound primary keys, and composite partition keys
  • Understand and use collections, materialized views, secondary indexes, counters, and batches
  • Understand the structure of the Java driver
  • Use the basic Java API to connect to and work with Cassandra
  • Use QueryBuilder to build dynamic queries
  • Use asynchronous queries, pagination and tracing
  • Understand KPIs for monitoring Cassandra
  • Understand Cassandra Security, and Encryption

Details:

Session 1: Introduction to the Cassandra Database

Overview:

  • The motivation for non-relational data stores
  • Why relational databases don’t support modern applications well
  • the Cassandra Database at a high-level
  • Use cases
  • Features Strengths (Scalability, robustness, linear performance with scale-out), etc.
  • High Level Structure

Acquiring and Installing the Cassandra Database

  • Install
  • Configuration Structure

LABS:

  • Configure, Start/Stop the Cassandra Database
  • StockWatcher Demo

Session 2: Overview of Architecture and Data Model

Basic Cassandra Database Architecture:

  • Cluster Structure - Nodes, Virtual Nodes, Ring Topology
  • Consistent Hashing, Tokens, Partitioners, and Data Distribution
  • Data Replication, the Replication Factor, Keyspaces
  • Consistency, the CAP theorem, Eventual Consistency

The Cassandra Data Model:

  • Data Model and CQL 3 Introduction
  • Using CQL and cqlsh
  • Single primary key tables and how to define them using CQL
  • Inserting Data (INSERT), Data Distribution in the Ring, Upsert
  • Querying for Data (SELECT)
  • CQL Data Types
  • Working with Primary Keys

LABS:

  • Spin up the Lab Cluster
  • Create Simple Tables
  • Insert/Query Tables
  • Use copy to Populate a Table

Session 3: The Cassandra Data Model

Compound Primary Keys

  • CQL table definition
  • The partition key and clustering columns

Advanced Capabilities

  • Expiring Columns / Time To Live (TTL)
  • Batches
  • Clustering order, ORDER BY, and CLUSTERING ORDER BY
  • Filtering results and ALLOW FILTERING
  • Secondary indexes
  • Materialized views

Composite Partition Keys

  • Motivation and uses
  • CQL Definition

Indexes and Secondary Indexes

  • Partition Key Indexes, token()
  • Non-primary Key (Secondary) Indexes
  • Performance Guidelines and Querying usage

Counters

  • Motivation and Uses
  • Structure, Characteristics, CQL, Usage

Working with time series data

  • Motivation and Uses
  • Structure, Characteristics, CQL, Usage

Collections

  • CQL definition (set, list, and map)
  • Inserting, Updating, Deleting with a Collection

LABS: * Introduce Compound Primary Keys * Refine Compound Primary Key * Work with Composite Partition Keys * Secondary Indexes * Counters * Using Collections

Session 4: Data Consistency

  • Data Consistency in Cassandra
  • Repair Mechanisms and Hinted handoffs
  • LAB

Session 5: How Things Work

  • Write Failures
  • Key and Row Caches
  • Multi-Data Center Support
  • Deletes and Tombstones
  • LAB

Session 6: Programming

  • API Introduction
  • Querying
  • QueryBuilder and Dynamic Queries
  • Asynchronous Querying
  • LABs

Day 4 (Optional Pick 2)

Session 7: Performance tuning (Optional choice)

  • Fundamentals
  • Common mistakes
  • Tombstones
  • Avoiding hotspots
  • GC settings
  • Diagnosing
  • Monitoring
  • nodetool
  • Stress testing
  • LAB

Session 8: the Cassandra Database KPIs Deep Dive (Optional choice)

  • Read throughput
  • Write throughput
  • Read latency
  • Write latency
  • Key cache hit rate
  • Disk space used
  • Disk space used by table
  • Complete Compaction Tasks
  • Pending Compaction Tasks
  • GC metrics
  • Exception counts
  • Timeouts exceptions
  • Unavailable exception count (required node unavailable)
  • Pending tasks (count of tasks waiting in queue)
  • Currently Blocked task (count of tasks that are blocked)
  • LAB

Session 9: the Cassandra Database Security and SSL (Optional choice)

  • Compliance needs
  • Authentication (roles, users, grants)
  • Public Key Auth
  • Internode encryption (SSL/TLS)
  • DC to DC encryption (SSL/TLS)
  • Client encryption
  • Setting up csqlsh to use SSL and Auth
  • Setting up programming API to use SSL and Auth
  • Disk encryption (OS file systems, EBS, Cassandra)
  • LAB

Session 10: Deploying a Cassandra cluster to AWS EC2 using VPCs (Optional choice)

  • Understand EC2, VPC, AZs and Regions
  • Picking the right EC2 instance
  • Picking the right EBS volume
  • Mapping VPC subnets and AZs to Racks
  • Mapping Datacenters to AWS Regions
  • Using local consistency levels
  • Performance concerns
  • Monitoring with AWS Cloudwatch
  • Sending logs to AWS Cloudwatch
  • LAB

Session 11: Cassandra Database Monitoring and Backup (Optional choice)

  • Send stats to InfluxDB and visualize with Grafana
  • Send stats to Cloudwatch and create events that trigger EC2 Lambdas
  • Backing up Cassandra to S3
  • Restoring Cassandra from a back up
  • Replacing a failed node
  • Performing a rolling upgrade of Cassandra
  • LAB

(Please specify type of programming: Python, Java, Node, Golang.)

Check out all of our SMACK training

More info

Cloudurable™ provides:

Contact us

For more details on the subscription support or pricing please contact us or call ((415) 758-1113) or write info@cloudurable.com.