Data Modelling with Cassandra

Abstract data points on a dark network field

CASE STUDY SNAPSHOT

Modeling Cassandra tables around the questions they must answer.

Instead of forcing one generic database shape, this project designs query-first NoSQL tables so listening data can be retrieved quickly and predictably for specific analytical needs.

Project flow

A quick read of how the work moves from raw material to useful insight.

01

Event CSVs

Collect and consolidate scattered song-play event files into a clean dataset.

02

Query design

Define the access patterns before deciding how each Cassandra table should look.

03

Partitioning

Choose partition and clustering keys that support fast, focused reads.

04

Fast answers

Return user, song, and session insights without expensive relational joins.

In this project, I work on designing a data model using Apache Cassandra to power fast and efficient querying of song play data. The goal is to transform raw user activity logs, stored as scattered CSV files, into a structured system that enables meaningful analysis of what users are listening to.

Each step of the pipeline involves cleaning and transforming the data through a Python-based ETL process, where raw event logs are consolidated into a query-ready format. These datasets are then loaded into Cassandra tables carefully designed around specific analytics questions from the Sparkify team.

Alongside the implementation, I explore data modeling decisions such as partition keys, clustering columns, and query optimization strategies to ensure high-performance reads. The final system enables seamless querying of user listening patterns, helping uncover insights from large-scale music streaming behavior.

In this project, I work on designing a data model using Apache Cassandra to power fast and efficient querying of song play data. The goal is to transform raw user activity logs, stored as scattered CSV files, into a structured system that enables meaningful analysis of what users are listening to.

Each step of the pipeline involves cleaning and transforming the data through a Python-based ETL process, where raw event logs are consolidated into a query-ready format. These datasets are then loaded into Cassandra tables carefully designed around specific analytics questions from the Sparkify team.

Alongside the implementation, I explore data modeling decisions such as partition keys, clustering columns, and query optimization strategies to ensure high-performance reads. The final system enables seamless querying of user listening patterns, helping uncover insights from large-scale music streaming behavior.

hiker in nature

Subscribe to my Newsletter

Sign up to stay updated about my latest work and adventures. No Spam, No BS. Promise!

hiker in nature

Subscribe to my Newsletter

Sign up to stay updated about my latest work and adventures. No Spam, No BS. Promise!