Cassandra Data Modeling Essential Training
1h 22mIntermediate2022-05-24
Authors

Dan Sullivan
Enterprise Architect, Big Data Expert
Course details
Cassandra is a NoSQL database capable of handling large amounts of data that change rapidly. In this course, instructor Dan Sullivan teaches you about the architecture of this popular database and how to design Cassandra data models that support scalable applications in the latest release.
Explore the core differences between Cassandra and relational databases, as well as the basics of the Cassandra Query Language (CQL) and modeling best practices based on application query requirements. Dan dives into Cassandra implementation details that impact data modeling choices, helping you sift through other design decisions, while staying mindful of the database's architecture and limitations. Along the way, test out your new skills with the design and modeling challenges at the end of each section.
Explore the core differences between Cassandra and relational databases, as well as the basics of the Cassandra Query Language (CQL) and modeling best practices based on application query requirements. Dan dives into Cassandra implementation details that impact data modeling choices, helping you sift through other design decisions, while staying mindful of the database's architecture and limitations. Along the way, test out your new skills with the design and modeling challenges at the end of each section.
Skills covered
CassandraData ModelingApacheDatabase DevelopmentDatabase ManagementEssential TrainingData ScienceSoftware Development
Concepts
Introduction
- Designing data models in Cassandra
- What you should know
- Exercise files
Cassandra Architecture
- Cassandra and relational databases
- Keyspaces, tables, rows, and columns
- Primary keys and secondary indexes
- Cassandra clusters
- Challenge - Design a table for a mobile app
- Solution - Design a table for a mobile app
Installing Cassandra
- Install Cassandra
- Creating a keyspace and table
Cassandra Query Language Data Types
- Numeric data types
- String, date, and unique types
- Collection data types
- Tuple data types
- Working with JSON
- Challenge - Choose the correct data types
- Solution - Choose the correct data types
Designing Cassandra Tables
- Queries drive design
- Denormalizing - Joining or sorting
- Tuning tables to optimize queries
- Data modeling for time series
- Challenge - Define a time series table
- Solution - Define a time series table
Additional Table Features
- Secondary indexes
- Materialized views
- Virtual tables
- Challenge - Create materialized view
- Solution - Create materialized view
Physical Data Modeling and Distributing Data
- Estimating data size formulas
- Example of estimating data size
- Replication in Cassandra
- Understanding consistency levels
- Challenge - Size a table
- Solution - Size a table
Cassandra Architecture and Its Impact on Data Modeling
- Understand the query process
- Understand commit writes
- Bloom filters and query processing
- Understand deletes and tombstones
- Understand compaction
- Challenge - Diagnose performance problem
- Solution - Diagnose performance problem
Conclusion
- Five best practices for Cassandra data modeling