Get in Touch

Course Outline

  • Section 1: Introduction to Big Data / NoSQL
    • Overview of NoSQL
    • The CAP theorem
    • When to choose NoSQL
    • Columnar storage structures
    • The NoSQL ecosystem
  • Section 2 : Cassandra Basics
    • Design philosophy and architecture
    • Nodes, clusters, and datacenters in Cassandra
    • 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 Datatypes
    • Creating keyspaces and tables
    • Selecting columns and appropriate types
    • Defining primary keys
    • Organizing row and column data layout
    • Time to live (TTL)
    • Executing queries with CQL
    • Performing CQL updates
    • Working with collections (lists, maps, sets)
    • Labs : Completing 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)
    • Handling time series data
    • Best practices for 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 design and model solutions
    • Discussion of different designs and analysis of design decisions
    • Lab : Implementing one of the presented scenarios
  • Section 6: Cassandra drivers
    • Introduction to the Java driver
    • Performing CRUD (Create, Read, Update, Delete) operations via the Java client
    • Executing asynchronous queries
    • Labs : Using the Java API for Cassandra
  • Section 7 : Cassandra Internals
    • Understanding the underlying Cassandra design
    • SSTables, memtables, and the commit log
    • The read and write paths
    • Caching mechanisms
    • Virtual nodes (vnodes)
  • Section 8: Administration
    • Selecting appropriate hardware
    • Overview of Cassandra distributions
    • Installing Cassandra
    • Conducting benchmark tests
    • Tools for monitoring performance and node activity
      • DataStax OpsCenter
    • Diagnosing performance issues in Cassandra
    • Investigating node crashes
    • Understanding data repair, deletion, and replication
    • Additional troubleshooting tools and tips
    • Cassandra best practices (compaction, garbage collection, etc.)
  • Section 9:  Bonus Lab (time permitting)
    • Implementing a music streaming service similar to Pandora or Spotify using Cassandra

Requirements

  • Familiarity with the Java programming language
  • Comfortable working in a Linux environment (navigating the command line, editing files using vi or nano)

Lab environment:

A pre-configured Cassandra environment will be made available to all students. Access requires only an SSH client and a web browser.

Zero Install : There is no need to install Cassandra on your personal machine.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories