Course Outline
- Section 1: Introduction to Big Data / NoSQL
- Overview of NoSQL
- The CAP theorem
- When to use NoSQL
- Columnar storage concepts
- The NoSQL ecosystem
- Section 2 : Cassandra Basics
- Design and architecture
- Cassandra nodes, clusters, and datacenters
- Keyspaces, tables, rows, and columns
- Partitioning, replication, and tokens
- Quorum and consistency levels
- Labs : Interacting with Cassandra via CQLSH
- Section 3: Data Modeling – part 1
- Introduction to CQL
- CQL data types
- Creating keyspaces and tables
- Selecting columns and data types
- Defining primary keys
- Data layout for rows and columns
- Time to live (TTL)
- Querying with CQL
- CQL update operations
- Collections (lists, maps, and sets)
- Labs : Various data modeling exercises using CQL; exploring 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
- Presenting multiple use cases across various domains
- Group work to develop designs and models
- Discussion and analysis of design 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
- Executing asynchronous queries
- Labs : Utilizing the Java API for Cassandra
- Section 7 : Cassandra Internals
- Understanding Cassandra's underlying design
- SSTables, memtables, and commit logs
- Read and write paths
- Caching mechanisms
- Vnodes
- Section 8: Administration
- Hardware selection guidelines
- Cassandra distributions
- Cassandra best practices (compaction, garbage collection)
- Tools and tips for troubleshooting
- Lab : Installing Cassandra and running benchmarks
- Section 9: Bonus Lab (time permitting)
- Implementing a music service similar to Pandora or Spotify on Cassandra
Requirements
- Proficiency in the Java programming language
- Familiarity with the Linux environment (command line navigation, file editing with vi or nano)
Testimonials (7)
The practical exercises and examples of implementing examples of real models and contexts.
Leandro Gomes
Course - Cassandra for Developers
I enjoyed the very good explanations with in depth examples.
Rui Magalhaes
Course - Cassandra for Developers
I liked all technical explanation and theoretical introduction.
Andre Santos
Course - Cassandra for Developers
I liked the amount of exercises. We could immediately apply the knowledge shared and ensure the information was on point.
Joana Pereira
Course - Cassandra for Developers
There was a lot of knowledge and material shared that will help me to do my current tasks.
Miguel Fernandes
Course - Cassandra for Developers
I already using and have an application in production with Cassandra so mostly of the topics i already know but the data modeling and advanced topics are a lot interesting.
Tiago Costa
Course - Cassandra for Developers
The last exercise was very good.