Get in Touch

Course Outline

  • Section 1: Introduction to Big Data / NoSQL
    • Overview of NoSQL
    • The CAP theorem
    • When to use NoSQL
    • Columnar storage
    • The NoSQL ecosystem
  • Section 2: Cassandra Basics
    • Design and architecture
    • Cassandra nodes, clusters, and data centres
    • Keyspaces, tables, rows, and columns
    • Partitioning, replication, and tokens
    • Quorum and consistency levels
    • Labs: Interacting with Cassandra using CQLSH
  • Section 3: Data Modelling – Part 1
    • Introduction to CQL
    • CQL data types
    • Creating keyspaces and tables
    • Choosing columns and data 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 modelling exercises using CQL; experimenting with queries and supported data types
  • Section 4: Data Modelling – 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; modelling time series data
  • Section 5: Data Modelling Labs: Group Design Session
    • Multiple use cases from various domains are presented
    • Students work in groups to develop designs and models
    • Discuss various designs and analyse decisions
    • Lab: Implement one of the scenarios
  • Section 6: Cassandra Drivers
    • Introduction to the Java driver
    • CRUD (Create / Read / Update / Delete) operations using the Java client
    • Asynchronous queries
    • Labs: Using the Java API for Cassandra
  • Section 7: Cassandra Internals
    • Understanding Cassandra design under the hood
    • SSTables, memtables, and commit logs
    • 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 and run benchmarks
  • Section 9: Bonus Lab (time permitting)
    • Implement a music service similar to Pandora or Spotify on Cassandra

Requirements

  • Proficiency in the Java programming language
  • Comfortable working in a Linux environment (navigating the command line, editing files with vi/nano)
 21 Hours

Number of participants


Price per participant

Testimonials (7)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories