Using Hadoop with Apache Cassandra
Overview of Cassandra Cassandra Is a noSQL Opensource Database. It Was Developed by Facebook to Handle Their Unique Needs to Process Enormous Amounts of Data...
Overview of Cassandra
Cassandra is a noSQL opensource database.It was developed by Facebook to handle their unique needs to process enormous amounts of data.
To say that it is noSQL does not mean it is unstructured. Data in Cassandra is stored in the familiar row-and-column datasets as a regular SQL database. But there are no relations between the tables. And you can query and write data in Cassandra using CQL (Cassandra Query Language), which is very similar to regular SQL.
But just because it supports SQL does not mean you can do all SQL operations on it. In particular there are no JOIN or GROUP operations or anything that would require extension disk searching and calculation. Instead you are supposed to store data in Cassandra the same way that you would like it presented. That shift in thinking is a complete 180 degree turnaround from what people have trability been taught about RDBMS (relational database management systems).
(This article is part of our Hadoop Guide. Use the right-hand menu to navigate.)
Must Read
Not-Normal
To illustrate what we mean, we need to discuss what it means to normalize data. Data in Cassandra is supposed to be not-normal and flattened. Let’s illustrate that.
Suppose we have this student data:
| Student number | name | city | state | zipcode |
Someone designing an Oracle database would make two tables out of that:
| Student number | name | zipcode |
| zipcode | state | city |
The common element between the two tables is zipcode. Because when you know the zipcode where someone lives, you know their the city and the state. So why should you repeat that data on every single row? You don’t. You make the data normal. But not with Cassandra.
Cassandra is not concerned with using lots of disk space, which is one reason you don’t do normalization. (Yet its compression algorithm reduces storage 80%.) Instead Cassandra is all about speed and scale.