Log On/Register  

855.838.5028

Cassandra for Developers

Duration: 3 Days
Course Price: $2,195

Overview

This course will introduce Cassandra – a popular NoSQL database. It will cover Cassandra principles, architecture and data model.

Audience

· Developers · Data Architects

 

Objectives

· Cassandra architecture & internals · CQL (Cassandra Query Language) · Data modeling in CQL · Using APIs to interact with Cassandra

Overview

This course will introduce Cassandra – a popular NoSQL database. It will cover Cassandra principles, architecture and data model.

Audience

· Developers · Data Architects

 

Objectives

· Cassandra architecture & internals · CQL (Cassandra Query Language) · Data modeling in CQL · Using APIs to interact with Cassandra

Pre-requisites

· comfortable with Java programming language · comfortable in Linux environment (navigating command line, editing files with vi / nano)

1: Introduction to Big Data / NoSQL

  • NoSQL overview
  • CAP theorem
  • When is NoSQL appropriate
  • Columnar storage
  • NoSQL ecosystem

 

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

 

3: Data Modeling – part 1

  • introduction to CQL
  • CQL Datatypes
  • creating keyspaces & tables
  • Choosing columns and types
  • Choosing primary keys
  • Data layout for rows and columns
  • Time to live (TTL)
  • Querying with CQL
  • CQL updates
  • Collections (list / map / set)
  • Labs : various data modeling exercises using CQL ; experimenting with queries and supported data types

 

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

 

5 : Data Modeling Labs  : Group design session

  • multiple use cases from various domains are presented
  • students work in groups to come up designs and models
  • discuss various designs, analyze decisions
  • Lab : implement one of the scenario

 

6: Cassandra Drivers

  • Introduction to Java driver
  • CRUD (Create / Read / Update, Delete) operations using Java client
  • Asynchronous queries
  • Labs : using Java API for Cassandra


7: Cassandra Internals

  • understand Cassandra design under the hood
  • stables, memtables, commit log
  • read path / write path
  • caching
  • vnodes


8: Administration

  • Hardware selection
  • Cassandra distributions
  • Cassandra best practices (compaction, garbage collection,)
  • troubleshooting tools and tips
  • Lab : students install Cassandra, run benchmarks


9:  Bonus Lab (time permitting)

  • Implement a music service like Pandora / Spotify on Cassandra

 

 

 

 

 

Learn More
Please type the letters below so we know you are not a robot (upper or lower case):