Get in Touch

Course Outline

  • Section 1: Introduction to Big Data / NoSQL
    • Overview of NoSQL databases
    • Understanding the CAP theorem
    • Identifying appropriate use cases for NoSQL
    • Column-oriented storage
    • Overview of the NoSQL ecosystem
  • Section 2: Cassandra Basics
    • Design and architectural overview
    • Understanding Cassandra nodes, clusters, and datacenters
    • Keyspaces, tables, rows, and columns
    • Partitioning, replication, and tokens
    • Quorum and consistency levels
    • Labs: Interacting with Cassandra using CQLSH
  • Section 3: Data Modeling – Part 1
    • Introduction to CQL
    • CQL data types
    • Creating keyspaces and tables
    • Selecting appropriate columns and data types
    • Defining primary keys
    • Data layout for rows and columns
    • Time to Live (TTL)
    • Executing queries with CQL
    • Performing updates in CQL
    • Utilizing 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 utilizing secondary indexes
    • Composite keys (partition keys and clustering keys)
    • Working with time series data
    • Best practices for modeling time series data
    • Using counters
    • Lightweight transactions (LWT)
    • Labs: Creating and using indexes; modeling time series data
  • Section 5: Data Modeling Labs – Group Design Session
    • Presentation of multiple use cases across various domains
    • Collaborative group work to develop designs and models
    • Discussion of various design approaches and analysis of key decisions
    • Lab: Implementing one of the proposed scenarios
  • Section 6: Cassandra Drivers
    • Introduction to the Java driver
    • Performing CRUD (Create, Read, Update, Delete) operations using the Java client
    • Handling asynchronous queries
    • Labs: Using the Java API for Cassandra
  • Section 7: Cassandra Internals
    • Understanding the underlying design of Cassandra
    • Exploring sstables, memtables, and the commit log
    • Examining the read and write paths
    • Caching mechanisms
    • vnodes (virtual nodes)
  • Section 8: Administration
    • Guidelines for hardware selection
    • Overview of Cassandra distributions
    • Cassandra best practices (including compaction and garbage collection)
    • Tools and tips for troubleshooting
    • Lab: Installing Cassandra and running benchmarks
  • Section 9: Bonus Lab (time permitting)
    • Implementing a music streaming service similar to Pandora or Spotify on Cassandra

Requirements

  • Familiarity with the Java programming language
  • Comfort working within a Linux environment (including navigating the command line and editing files using vi or nano)
 21 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories