Introduction

In this Apache Cassandra tutorial, you will learn Cassandra from the basics to get a fair idea of why Cassandra is such a robust NoSQL database system. Cassandra is basically a high performance, high availability and highly scalable distributed database that works well with structured, semi-structured and unstructured data. For structured data we have the RDBMS, so a database like Cassandra is essentially used for collecting and handling unstructured data.

Apache Cassandra is a very scalable, high-performance distributed database designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. It is a type of NoSQL database. Let us first understand what a NoSQL database does.

Recommended audience

This Cassandra tutorial can be beneficial to anybody who wants to learn NoSQL databases. Software developers, database administrators, architects, managers can take this Cassandra tutorial as a first step to learn Cassandra and excel in their careers.

Prerequisites

There are no prerequisites to learn Cassandra from this Cassandra tutorial. If you have a basic knowledge of databases, then it is good.

What is Apache Cassandra?

Before we learn Cassandra, let us first understand the difference between a NoSQL database and a relational database through this table:

Comparison criteria NoSQL database Relational database Type of data handled Mainly unstructured data Only structured data Volume of data High Volume Low Volume Type of transactions handled Simple Complex Single point of failure No Yes Data arriving from Many locations A few locations

Apache Cassandra is on open source powerful, distributed NoSQL database that does not have a single point of failure and is extremely scalable and highly available. Cassandra was originally developed at Facebook and later open sourced and is currently part of the Apache Software Foundation.

What is a NoSQL database?

A NoSQL or Not Only SQL is a set of databases that provide a way to store and retrieve data that is not in the standard tabular format followed by relational databases. The NoSQL databases of which Cassandra is a very popular database share some common features and attributes. The NoSQL databases do not have any schema, they support easy replication of data, they have a simple API, they do not exhibit the ACID properties but are eventually consistent and finally last but not the least, they can handle huge volumes of data.

Some of the properties of a NoSQL database include:

It has a simple design

It is scalable horizontally

It has finer control over availability.

Why is Apache Cassandra so widely used?

In this section of the Cassandra tutorial we list some of the major points why Cassandra is such a widely used NoSQL database.

It is a high-performance, high availability database

It is extremely fault-tolerant, scalable and consistent

It is high-speed thanks to it being a column-oriented database

Its architecture is based on Google’s Bigtable & Amazon’s Dynamo.

Features of Cassandra

Here in this section of the Cassandra tutorial, we will discuss some of the top features of Cassandra

Cassandra is highly scalable meaning you can have additional hardware for accommodating more customers and data

Cassandra does not have a single point of failure and it has an always-on architecture

It has a fast linear performance which means you can increase the throughput by increasing the number of nodes in the cluster

It has a highly flexible data storage meaning all formats of data can be stored including structured, semi-structured and unstructured

It allows for easy data distribution by providing the flexibility to distribute data by replicating it across multiple data centers

Cassandra supports the ACID compliance which stands for Atomicity, Consistency, Isolation, Durability

It performs blazing fast writes without sacrificing the read efficiency.

Applications of Apache Cassandra

Apache Cassandra is one of the most widely used NoSQL databases. Here we list some of the top applications of Cassandra.

It is extensively used for monitoring and tracking of applications

It is used in web analytics which is heavy write systems

It is deployed for social media analysis for providing suggestions to customers

It is used in retail applications for product catalog lookups and inputs

It is extensively used as the database for mobile messaging services

Why should you learn Cassandra?

Cassandra is a top NoSQL database and it is finding more and more users with each passing day. Since we are living in a world of big data, Cassandra is finding huge acceptance since it was built for big data. Also, a lot of the organizations are moving from the traditional relational database systems to NoSQL databases and thus Cassandra is their natural choice. All this means that the job market for Cassandra is just heating up and the salaries for Cassandra professionals are among the best in the big data domain. All these are compelling reasons for you to learn Cassandra and excel in your career.

Table of Contents