Introduction to Cassandra for Developers

Accelebrate's Introduction to Cassandra 3 for Developers training course provides an in-depth introduction to using Cassandra and with a focus on the practical aspects of working with C*. Students...

Read More
Course Code ACCEL-CASS-INTRO
Duration 3 days
Available Formats Classroom
5787 Reviews star_rate star_rate star_rate star_rate star_half
Course Image

Accelebrate's Introduction to Cassandra 3 for Developers training course provides an in-depth introduction to using Cassandra and with a focus on the practical aspects of working with C*. Students learn the internal architecture and CQL (Cassandra Query Language), as well as the Java API for writing Cassandra clients.

  • This course includes coverage of Cassandra 3.x, but is also suitable for users of Cassandra 2.

Skills Gained

All students will:

  • Understand the 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
  • Use data replication and eventual consistency intelligently
  • Understand and use CQL to create tables and query for data
  • Know and use the CQL data types (numerical, textual, uuid, etc.)
  • Understand the various kinds of primary keys available (simple, compound, and composite primary keys)
  • Use more advanced capabilities like collections, counters, secondary indexes, CAS (Compare and Set), static columns, and batches
  • Be familiar with the Java client API
  • Use the Java client API to write client programs that work with C*
  • Build and use dynamic queries with QueryBuilder
  • Understand and use asynchronous queries with the Java API

Prerequisites

Students should have reasonable Java experience and some knowledge of databases.

Course Details

Software Requirements

VirtualBox 5.0 or later in a Windows, Linux, or Mac environment with at least 8GB of physical RAM. Accelebrate provides a virtual machine with everything necessary for this class.

Cassandra Training Outline

Introduction

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
  • Additional Querying Capabilities
  • Data Modeling Guidelines
  • Composite Partition Keys

Additional CQL Capabilities

  • Indexing
  • Cassandra Counters
  • Cassandra collections
  • 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

The Java Client API

  • API Overview
  • Connecting to a Cluster
  • The Query API
  • Dynamic Queries and QueryBuilder
  • Configuring Query Behavior
  • Asynchronous Querying Overview

Conclusion

Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward