Certified Apache Cassandra Professional Course Outline


Course Outline
  


Domain 1 - Introduction to NoSQL

  • Understanding the evolution of databases and why NoSQL is needed for modern applications.
  • Exploring different types of NoSQL databases: Key-Value, Document, Column-Family, and Graph.

Domain 2 - NoSQL Basics
  • Learning the key features of NoSQL databases such as scalability, flexibility, and high availability.
  • Comparing NoSQL with traditional relational databases (SQL vs NoSQL).

Domain 3 - Cassandra Basics and Terminology
  • Introduction to Apache Cassandra as a distributed NoSQL database.
  • Understanding key Cassandra terms such as Keyspace, Tables, Partitions, Clusters, and Nodes.

Domain 4 - Cassandra Installation

  • Prerequisites: Understanding system requirements like memory, CPU, and storage for running Cassandra and Installing required dependencies like Java and setting up the environment.
  • Installation: Step-by-step guide to installing Cassandra on different operating systems (Windows, Linux, Mac) and Verifying installation and starting Cassandra services.
  • Configuration: Setting up configuration files (cassandra.yaml) for tuning performance and security and Adjusting parameters for replication, consistency levels, and memory settings.
  • Cluster Setup: Creating a multi-node cluster and configuring nodes for scalability and fault tolerance and Understanding seed nodes, data distribution, and replication strategies.


Domain 5 - Cassandra Architecture

  • Architecture of Cassandra: Understanding Cassandra’s decentralized peer-to-peer architecture and Exploring how data is distributed across nodes and ensuring fault tolerance.
  • Cassandra Data Model: Learning about column-family data models and how Cassandra organizes data and Understanding partition keys, clustering keys, and primary keys.
  • Data Replication: Exploring Cassandra’s replication strategies and consistency levels and Configuring replication factor and choosing between SimpleStrategy and NetworkTopologyStrategy.
  • Write Operation: Understanding Cassandra’s write path: Commit log, MemTable, SSTables, and Hinted Handoffs and Ensuring durability and consistency in write operations.
  • Read Operation: Exploring how Cassandra retrieves data using partition keys and Bloom filters and Understanding read repair mechanisms for eventual consistency.
  • Data Compaction: Learning about different compaction strategies: Size-Tiered, Leveled, and Time-Window Compaction and Optimizing disk space and improving read performance through compaction.
  • Tunable Data Consistency: Exploring how Cassandra balances consistency and availability with tunable consistency levels and Choosing between ONE, QUORUM, and ALL consistency levels.
  • Gossip Protocol: Understanding how Cassandra nodes communicate and exchange state information and Ensuring cluster stability through periodic gossip messages.
  • Failure Detection: Exploring how Cassandra detects and handles node failures and Understanding how failed nodes are removed and replaced within a cluster.
  • Hinted Handoffs: Ensuring data durability by temporarily storing writes for unavailable nodes and Understanding how hinted handoffs improve eventual consistency.
  • Bloom Filters: Using Bloom filters to reduce disk I/O and improve read efficiency and Understanding the role of Bloom filters in checking if data exists in SSTables.


Domain 6 - Cassandra Data Modeling and CRUD

  • Data Modeling Basics: Understanding the principles of designing an efficient Cassandra data model and Best practices for schema design to avoid performance bottlenecks.
  • Cassandra Data Modeling: Designing scalable data models with partitions, clustering keys, and denormalization and Learning about wide-row storage for efficient querying.
  • Cassandra Column Types: Exploring different column types and their impact on storage and retrieval and Understanding static, clustering, and regular columns.
  • Cassandra Keyspace: Creating and managing keyspaces to define replication strategies and Configuring keyspace properties such as replication factor and strategy.
  • Cassandra Tables: Defining tables in Cassandra and understanding their schema-less design and Understanding partitions and clustering for optimized querying.
  • Cassandra Index: Using secondary indexes to optimize queries and improve read performance and Understanding when and how to use indexes effectively.
  • Triggers: Automating database operations using triggers and Understanding how triggers work and when to use them.
  • Materialized Views: Creating materialized views for optimized query performance and Understanding the pros and cons of using materialized views in Cassandra.


Domain 7 - CQL (Cassandra Query Language)

  • CQL Basics: Understanding the basics of Cassandra Query Language (CQL) and how it differs from SQL and Writing simple queries to insert, update, and delete data.
  • Identifiers and Keywords: Exploring CQL syntax rules, naming conventions, and reserved keywords and
  • Shell Commands: Using cqlsh (Cassandra Query Language Shell) for database interactions and Executing queries, creating tables, and managing keyspaces.
  • CQL Data Manipulation: Performing CRUD operations (Create, Read, Update, Delete) in Cassandra using CQL.
  • CQL Datatypes: Exploring built-in Cassandra data types such as text, int, UUID, timestamp, and more.
  • Functions: Using built-in CQL functions for data manipulation and aggregation and User Defined Functions (UDFs) and Creating custom user-defined functions to extend CQL capabilities.
  • Collections: Working with collection data types such as lists, sets, and maps
  • User-Defined Datatypes (UDTs): Defining and using custom data types for complex data structures.
  • Security and Roles: Managing authentication, authorization, and access control in Cassandra and Setting up user roles and permissions.


Domain 8 - Cassandra Configuration

  • Configuring Cassandra: Tweaking Cassandra settings for optimal performance and stability.


Domain 9 - Cassandra Performance Tuning

  • Observation Tools: Using tools like nodetool and JMX monitoring for performance analysis.
  • Compression: Understanding different compression techniques to optimize storage.
  • JVM Tuning: Configuring Java Virtual Machine (JVM) settings for better Cassandra performance.
  • System Tuning: Adjusting OS-level settings for Cassandra optimization.
  • Tuning Guidelines: Best practices for fine-tuning Cassandra for different workloads.


Domain 10 - Cassandra Maintenance

  • Snitch: Understanding how Snitches determine data distribution across nodes and Adding, Replacing, Moving, and Removing Nodes and Managing node operations in a Cassandra cluster.
  • Compaction: Handling different compaction strategies for efficient data management.
  • Change Data Capture: Tracking and capturing changes in Cassandra tables for real-time processing.
  • Monitoring and Metrics: Using monitoring tools to track cluster health and performance.
  • Security: Implementing encryption, authentication, and authorization mechanisms.

Apply for Certification: https://www.vskills.in/certification/Certified-Cassandra-Professional
 For Support