The Playlist tutorial

An introduction to web application development using DataStax Enterprise and Apache Cassandra.

This tutorial is intended for programmers interested in learning about Apache Cassandra. It covers the techniques used to create Cassandra databases and tables, and how to access the data using the Cassandra drivers.

The Playlist application is a Java web application that manages a collection of music files. The tutorial provides step-by-step instructions for creating this application and enhancing it to demonstrate features of Cassandra.

Before you start this tutorial

Before starting, you should have a good working knowledge of programming languages, web application development, and a basic understanding of database concepts like tables, columns, and queries. You should be familiar with running commands from a Unix terminal.

Goals of the tutorial

This tutorial will give you hands-on experience creating Cassandra databases and tables, importing data, and using the Cassandra drivers to access the data from an application. You will also learn about data modeling for Cassandra and how modeling for a NoSQL database differs from relational databases.

The hands-on instructions in this tutorial are focused on changes in the data model and interactions with Cassandra as you build and enhance the application. The application code is discussed in depth, but you do not need to alter the application code to as you proceed through the steps of the tutorial.

Each chapter of the tutorial has a corresponding branch in the Git workspace. The master branch is the complete and final application as it should appear at the end of the tutorial. Breaking up the application in this manner allows you to see exactly which files and code sections changed from one chapter to the next.

Required software

The following software is required to build and run the Playlist tutorial example application:

This tutorial assumes you have installed DataStax Enterprise, which includes Cassandra. All the tools and instructions will work with a Cassandra installation.

Apache Maven is used to manage the example application's dependencies, and to build and run the application.

As you add functionality to the application, git is used to retrieve the example source code and compare the code between steps .