Choose your language:

France
Germany
Hong Kong
India
Ireland
Japan
Malaysia
Netherlands
New Zealand
Singapore
Sweden
United Kingdom
United States

Fast Track to Cassandra

Course Code

BD31

Duration

3 Days

Prior software administration or development experience.
The Cassandra NoSQL database is one of the most powerful and widely used non-relational databases available today. It is a fault tolerant, highly scalable database with tunable consistency that meets the demanding requirements of the "can't fail, must scale" systems driving growth for many of the most successful enterprises of today. However, along with that capability comes a new data and programming model that many organizations lack the expertise to use in an optimal fashion. This course provides a technical introduction to all the conceptual and practical areas needed to use Cassandra successfully. It is written expressly for the new capabilities in version 2.0, including CQL3.1. The course provides a solid foundation in the architecture and data model of Cassandra and how to work with it. It covers CQL3 in detail, as well as important data modeling techniques to optimize your usage of the database. After taking this course, you will be ready to work with Cassandra in an informed and productive manner, including using CQL3.
This course is designed for individuals who are Database Administrators and Database Developers.
Upon completion of this course, participants will be able to:
  • Understand the motivation for non-relational data stores
  • Be familiar with Cassandra at a high-level
  • Be familiar with basic installation
  • Understand the Cassandra architecture
  • Understand cluster structure and partitioners
  • Understand and use data replication and eventual consistency
  • Learn the basics of the Cassandra data model
  • Use CQL 3 to create tables and execute queries
  • Learn and use cqlsh
  • Know the standard CQL data types
  • Understand and use primary keys, compound primary keys
  • Understand and use collections, secondary indexes, counters, and batches
  • Understand and use Compare and Set (CAS) / Lightweight Transactions
  • Use other Cassandra 2 features such as static columns
  • Understand the Java driver and QueryBuilder
1. Introduction to Cassandra
Overview
The motivation for non-relational data stores
Why relational databases don't support modern applications well
Cassandra at a high-level
Use cases
Features Strengths
High Level Structure
Lab

2. Installation
Acquiring Cassandra
Installing Cassandra
Configuring
Installation Structure
Lab

3. Basic Cassandra Architecture
Cluster Structure
Nodes, Virtual Nodes, Ring Topology
Consistent Hashing, Tokens, Partitioners
Data Distribution
Data Replication
Replication Factor
Keyspaces
Consistency
The CAP theorem
Eventual Consistency
Lab

4. Operations
How requests are coordinated
Replication
Tune consistency
Understand how nodes communicate
Write path
How data is written to the storage engine
Data directories
Read path
How data is read from the storage engine
Anti-entropy operations
Read data from Cassandra
Lab

5. Data Model
Cassandra Data Model
Single primary key tables
Compound Primary Keys
CQL table definition
The partition key and clustering columns
CQL Mapping vs. Internal Storage View
Lab

6. Cassandra Tools
Configure nodes and clusters using CCM
cqlsh shell commands
Introduce and use nodetool
Populate and test nodes using cassandra-stress
Lab

7. CQL 3
Introduction
cqlsh
Using CQL
DDL subset of CQL
Create tables using CQL
DML subset of CQL
Inserting Data (INSERT)
Data Distribution in the Ring
Upsert
Querying for Data (SELECT)
CQL Data Types
Working with Primary Keys
Copy to Populate a Table
Lab

8. Advanced Data Model
Expiring Columns / Time To Live (TTL)
Batches
Clustering order, ORDER BY
CLUSTERING ORDER BY
Filtering results
ALLOW FILTERING
Composite Partition Keys
Motivation and uses
CQL Definition
Effect on Partitioning
Internal Storage View
Refine Compound Primary Key
Lab

9. Indexes
Index Basics
Secondary Indexes
Partition Key Indexes
token()
Non-primary Key (Secondary) Indexes
Guidelines
Query Techniques
Lab

10. Counters
Understand and Use Counters
Motivation and Uses
Structure
Characteristics
CQL
Usage
Limitations
Lab

11. Collections
Understand and use collections
Motivation and uses
CQL definition (set, list, and map)
Inserting with a Collection
Updating with a Collection
Deleting with a Collection
Limitations
Internal Storage View
Lab

12. Data Consistency
Data Consistency in Cassandra
Tunable Consistency
CAP Theorem
Coordinators and Client Requests
Consistency Levels
ONE, QUORUM, ALL
Configuring Immediate Consistency
CL ONE
Other CL Levels
Lab

13. Compare and Set
Compare and Set (CAS)
Lightweight Transactions
Motivation and Need
Overview of CAS
Using CAS
IF NOT EXISTS
IF condition
How CAS works
Overhead
Caveats
Lab

14. Static Columns
Overview
Declaring Tables
Using Static Columns
Guidelines
Uses
Lab

15. Repair Mechanisms
Read Repair
Hinted Handoff
Write Failures
Unavailability
Node Failure
Requirements for Writing
Lab

16. Caches
Cache Overview
Key Caches
Key Row Caches
Guidelines
Uses
Lab

17. Removing Data
Deletes
CQL
Tombstones
Issues
Guidelines
Lab

18. Multi-Data Center Support
Overview
Replication Factor Configuration
Consistency Levels
LOCAL
EACH QUORUM

19. Java API
Java Driver
Introduction
Overview
Architecture
Features
API Introduction
Querying
PreparedStatement
Statement
BoundStatement
QueryBuilder
Dynamic Queries
Asynchronous Querying
Send Us a Message
Choose one