Cassandra for Developers Training in South Africa

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 3 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

This course will introduce Cassandra – a popular NoSQL database.  It will cover Cassandra principles, architecture and data model.

Comfortable with Java programming language and comfortable in Linux environment (navigating command line, editing files with vi / nano).

  • Developers / Data architects

  • Cassandra architecture & internals
  • CQL (Cassandra Query Language)
  • Data modeling in CQL
  • Using APIs to interact with Cassandra

Cassandra Overview

  • Why We Need Cassandra
  • High Level Cassandra Overview
  • Cassandra Features
  • Basic Cassandra Installation and Configuration   

Cassandra Architecture and CQL Overview  

  • Cassandra Architecture Overview
  • Cassandra Clusters and Rings
  • Data Replication in Cassandra
  • Cassandra Consistency / Eventual Consistency
  • 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)

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
  • Additional Querying Capabilities
  • Result Ordering - ORDER BY and CLUSTERING ORDER BY
  • UPDATE and DELETE Queries
  • Result Filtering, 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

Additional CQL Capabilities 

  • Indexing
  • Primary/Partition Keys and Pagination with token()
  • Secondary Indexes and Usage Guidelines
  • Cassandra Counters
  • Counter Structure and Definition
  • Using Counters
  • Counter Limitations
  • Cassandra collections
  • Collection Structure and Uses
  • Defining Collections (set, list, and map)
  • Querying Collections (Including Insert, Update, Delete)
  • Limitations
  • Overview of Internal Storage Organization
  • Static Column: Overview and Usage
  • Static Column Guidelines
  • Materialized View: Overview and Usage
  • Materialized View Guidelines

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
  • Using other Consistency Levels
  • Internal Repair Mechanisms (Read Repair, Hinted Handoff)
  • Lightweight Transactions (LWT)/ Compare and Set (CAS)
  • Overview of Lightweight Transactions
  • Using LWT, the [applied] Column
  • IF EXISTS, IF NOT EXISTS, Other IF conditions
  • Basic CAS Internals
  • Overhead and Guidelines

Practical Considerations 

  • Dealing with Write Failure
  • Unavailable Nodes and Node Failure
  • Requirements for Write Operations
  • Key and Row Caches
  • Cache Overview
  • Usage Guidelines
  • Multi-Data Center Support
  • Overview
  • Replication Factor Configuration
  • Additional Consistency Levels - LOCAL/EACH QUORUM
  • Deletes
  • CQL for Deletion
  • Tombstones
  • Usage Guidelines

The Java Client API 

  • API Overview
  • Introduction
  • Architecture and Features
  • Connecting to a Cluster
  • Cluster and Cluster.Builder
  • Contact Points, Connecting to a Cluster
  • Session Overview and API
  • Working with Sessions
  • The Query API
  • Overview
  • Dynamic Queries, Statement, SimpleStatement
  • Processing Query Results, ResultSet, Row
  • PreparedStatement, BoundStatement
  • Binding Values and Querying with PreparedStatements
  • CQL to Java Type Mapping
  • Working with UUIDs
  • Working with Time/Date Values
  • Working with Batches of SimpleStatement and PreparedStatement
  • Dynamic Queries and QueryBuilder
  • QueryBuilder Overview and API
  • Building SELECT, DELETE, INSERT, and UPDATE Queries
  • Creating WHERE Clauses
  • Other Query Examples
  • Configuring Query Behavior
  • Setting LIMIT and TTL
  • Working with Consistency
  • Using LWT
  • Working with Driver Policies
  • Load Balancing Policies - RoundRobinPolicy, DCAwareRoundRobinPolicy
  • Retry Policies - DefaultRetryPolicy, DowngradingConsistencyRetryPolicy, Other Policies
  • Reconnection Policies
  • Asynchronous Querying Overview
  • Synchronous vs. Asynchronous Querying
  • Executing Asynchronous Queries
  • java.util.concurrent.Future
  • Cassandra ResultSetFuture
  • Future Result Processing


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our South Africa facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
24 November 2024
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
24 November 2024
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
22 January 2025
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
10 February 2025
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
22 January 2025
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
10 February 2025
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
19 March 2025
Cape Town, Durban, Johannesburg
3 Days
Classroom / Virtual Classroom
19 March 2025
Cape Town, Durban, Johannesburg
3 Days
Cassandra for Developers Training Course in South Africa

Formerly known as Union of South Africa, now officially known as Republic of South Africa is the Southernmost country in Africa. South Africa's population is over 60 million people, which makes the country the world's 23rd-most populous nation. South Africa has three capital cities: executive Pretoria, judicial Bloemfontein and legislative Cape Town, while the largest city is Johannesburg. The official languages of South Africa are Afrikaans, English, Ndebele, Pedi, Sotho, Swati, Tsonga, Tswana, Venda, Xhosa and Zulu.

South Africa can be rainy from November to February, so the best time to visit South Africa is from May to September. Despite the rainy season South Africa is a year-round destination, with varying regional climates. Blyde River Canyon, Durban, Drakensberg, Kruger National Park and of course, Cape Town are the tourist attractions of the country.

Expand your IT knowledge with our comprehensive range of courses, including programming, software development, business skills, data science, cybersecurity, cloud computing and virtualization. Our skilled instructors will facilitate hands-on training and share practical insights, all conveniently conducted at your preferred location within South Africa.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.