EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Cassandra for Developers

Course outline

3 days

Duration

3 days

Overview

This Cassandra for Developers training class is technical and comprehensive, with a focus on the practical aspects of working with C*. Students learn tcreate data models with Cassandra and learn enough about the internal architecture tmake good decisions. This class is hands-on, with plenty of labs. It covers CQL (Cassandra Query Language) in depth, as well as covering the Java API for writing Cassandra clients.

Prerequisite

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

Section 1: Introduction t0Big Data / NoSQL

NoSQL overview

CAP theorem

When is NoSQL appropriate

Columnar storage

NoSQL ecosystem

Section 2 : Cassandra Basics

Design and architecture

Cassandra nodes, clusters, datacenters

Keyspaces, tables, rows and columns

Partitioning, replication, tokens

Quorum and consistency levels

Labs : interacting with cassandra using CQLSH

Section 3: Data Modeling – part 1

introduction tCQL

CQL Datatypes

creating keyspaces & tables

Choosing columns and types

Choosing primary keys

Data layout for rows and columns

Time tlive (TTL)

Querying with CQL

CQL updates

Collections (list / map / set)

Labs : various data modeling exercises using CQL ; experimenting with queries and supported data types

Section 4: Data Modeling – part 2

Creating and using secondary indexes

composite keys (partition keys and clustering keys)

Time series data

Best practices for time series data

Counters

Lightweight transactions (LWT)

Labs : creating and using indexes; modeling time series data

Section 5 : Data Modeling Labs : Group design session

multiple use cases from various domains are presented

students work in groups tcome up designs and models

discuss various designs, analyze decisions

Lab : implement one of the scenari

Section 6: Cassandra drivers

Introduction tJava driver

CRUD (Create / Read / Update, Delete) operations using Java client

Asynchronous queries

Labs : using Java API for Cassandra

Section 7 : Cassandra Internals

understand Cassandra design under the hood

sstables, memtables, commit log

read path / write path

caching

vnodes

Section 8: Administration

Hardware selection

Cassandra distributions

Cassandra best practices (compaction, garbage collection,)

troubleshooting tools and tips

Lab : students install Cassandra, run benchmarks

Section 9: Bonus Lab (time permitting)

Implement a music service like Pandora / Spotify on Cassandra

Programme scope, delivery arrangements and suitability are confirmed during enquiry.