Course Outline
- Section 1: Introduction to Big Data / NoSQL
- NoSQL overview
- CAP theorem
- When is NoSQL appropriate
- Columnar storage
- NoSQL ecosystem
- Section 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
- Section 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
- Section 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
- Section 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
- Section 6: Cassandra drivers
- Introduction to Java driver
- CRUD (Create / Read / Update, Delete) operations using Java client
- Asynchronous queries
- Labs : using Java API for Cassandra
- Section 7 : Cassandra Internals
- understand Cassandra design under the hood
- sstables, memtables, commit log
- read path / write path
- caching
- vnodes
- Section 8: Administration
- Hardware selection
- Cassandra distributions
- Installing Cassandra
- Running benchmarks
- Tooling for monitoring performance and node activities
- DataStax OpsCenter
- Diagnosting Cassandra performance issues
- Investigating a node crash
- Understanding data repair, deletion and replication
- Other troubleshooting tools and tips
- Cassandra best practices (compaction, garbage collection,)
- Section 9: Bonus Lab (time permitting)
- Implement a music service like Pandora / Spotify on Cassandra
Requirements
- comfortable with Java programming language
- comfortable in Linux environment (navigating command line, editing files with vi / nano)
Lab environment:
A working Cassandra environment will be provided for students. Students would need an SSH client and a browser to access the cluster.
Zero Install : There is no need to install Cassandra on students’ machines!
Testimonials (4)
The practical role I play in the course.
zuriel Ponce Rosas - Global Knowledge S.A. de C.V.
Course - Apache Cassandra 4.0
Machine Translated
The 1:1 style meant the training was tailored to my individual needs.
Andy McGuigan
Course - Cassandra Administration
Topics approached. Very complete.
Carlos Eloi Barros
Course - Cassandra for Developers
Trainer had good practical knowledge about using Cassandra day-to-day at least for development purposes. Catering (snacks, coffee hour) were great 3 days length was good.