Introduction to Cassandra
Retail Price: $2,295.00
Next Date: 02/24/2025
Course Days: 3
Enroll in Next Date
Request Custom Course
Course Objectives
This “skills-centric” course is about 50% hands-on lab and 50% lecture, coupling the most current techniques with the soundest industry practices. Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review.
The goal of this course is to enable technical students new to Cassandra to begin working with Cassandra in an optimal manner. Throughout the course students will learn to:
- Understand the Big Data needs that C* addresses
- Be familiar with the operation and structure of C*
- Be able to install and set up a C* database
- Use the C* tools, including cqlsh, nodetool, and ccm (Cassandra Cluster Manager)
- Be familiar with the C* architecture, and how a C* cluster is structured
- Understand how data is distributed and replicated in a C* cluster
- Understand core C* data modeling concepts, and use them to create well-structured data models
- Be familiar with the C* eventual consistency model and use it intelligently
- Be familiar with consistency mechanisms such as read repair and hinted handoff
- Understand and use CQL to create tables and query for data
- Know and use the CQL data types (numerical, textual, uuid, etc.)
- Be familiar with the various kinds of primary keys available (simple, compound, and composite primary keys)
- Be familiar with the C* write and read paths
- Understand C* deletion and compaction
Course Prerequisites
Attendees should have incoming experience with and knowledge of SQL. Some familiarity with distributed systems is also helpful.
Course Agenda
Session 1: Cassandra Overview
- Why We Need Cassandra - Big Data Challenges vs RDBMS
- High level Cassandra Overview
- Cassandra Features
- Optional: Basic Cassandra Installation and Configuration
Session 2: Cassandra Architecture and CQL Overview
- Cassandra Architecture Overview
- Cassandra Clusters and Rings
- Nodes and Virtual Nodes
- Data Replication in Cassandra
- Introduction to CQL
- Defining Tables with a Single Primary Key
- Using cqlsh for Interactive Querying
- Selecting and Inserting/Upserting Data with CQL
- Data Replication and Distribution
- Basic Data Types (including uuid, timeuuid)
Session 3: Data Modeling and CQL Core Concepts
- Defining a Compound Primary Key
- CQL for Compound Primary Keys
- Partition Keys and Data Distribution
- Clustering Columns
- Overview of Internal Data Organization
- Overview of Other Querying Capabilities
- ORDER BY, CLUSTERING ORDER BY, UPDATE , DELETE, ALLOW FILTERING
- Batch Queries
- Data Modeling Guidelines
- Denormalization
- Data Modeling Workflow
- Data Modeling Principles
- Primary Key Considerations
- Composite Partition Keys
- Defining with CQL
- Data Distribution with Composite Partition Key
- Overview of Internal Data Organization
Session 4: Additional CQL Capabilities
- Indexing
- Primary/Partition Keys and Pagination with token()
- Secondary Indexes and Usage Guidelines
- Cassandra collections
- Collection Structure and Uses
- Defining and Querying Collections (set, list, and map)
- Materialized View
- Overview
- Usage Guidelines
Session 5: Data Consistency In Cassandra
- Overview of Consistency in Cassandra
- CAP Theorem
- Eventual (Tunable) Consistency in C* - ONE, QUORUM, ALL
- Choosing CL ONE
- Choosing CL QUORUM
- Achieving Immediate Consistency
- Overview of Other Consistency Levels
- Supportive Consistency Mechanisms
- Writing / Hinted Handoff
- Read Repair
- Nodetool repair
Session 6: Internal Mechanisms
- Ring Details
- Partitioners
- Gossip Protocol
- Snitches
- Write Path
- Overview / Commit Log
- Memtables and SSTables
- Write Failure
- Unavailable Nodes and Node Failure
- Requirements for Write Operations
- Read Path Overview
- Read Mechanism
- Replication and Caching
- Deletion/Compaction Overview
- Delete Mechanism
- Tombstones and Compaction
Session 7: Working with IntelliJ
- Configuring JDBC Data Source for Cassandra
- Reading Schema Information
- Querying and Editing Tables.