April 30th, 2014


C* Cheat Sheet” was created by Michael Kjellman, as part of Hakka Labs’ Cassandra Week.

In my last post, I wrote about The Main Reason Why You Shouldn’t Use C*. Here’s a MySQL –> C* cheat sheet for devs who should make the move.


What is Cassandra?

Apache Cassandra is a distributed and multi-datacenter aware database that aims to provide both high availability and performance. While it is frequently compared to and considered a schema-less database (also known as “NoSQL”), modern versions of Cassandra encourage and support both rich and easily extensible schemas to better validate your inputs.


What are the origins of Cassandra?

Originally created at Facebook in 2008, it is now maintained as an Apache project. Its architecture is based on a combination of Amazon Dynamo and Google BigTable. (If you have some spare time, both linked whitepapers are definitely recommended reads!) With the initial release of Cassandra, the original authors also wrote and released a whitepaper on Cassandra’s architecture and design. Many commits and years later, Jonathan Ellis (Apache Cassandra Project Chair) wrote a nice comparison titled “Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0”. The article compares the original C* whitepaper in a two column format, with the original on the left and his own commentary on what time has proved worked, didn’t work, and what’s been changed as of the C* v2.0 release. I also highly recommend taking the time to read this!


Key Cassandra Terms

Note: The following section’s introduction to Cassandra (and list of terms) is far from comprehensive. Its goal is to introduce the most basic terms and concepts required to get a basic understanding of C*. To read more on the key terms and architecture of Cassandra you can find more detail in the Cassandra architecture documentation or for a higher level overview visit the “What is Cassandra” page on Planet Cassandra.

Key Terms 1


Key terms 2


Key Terms 3


Stay tuned this week for more posts from Michael Kjellman. This post is an excerpt from ‘Frustrated with MySQL? Improving the scalability, reliability and performance of your application by migrating from MySQL to Cassandra.‘ In the meantime, check out other Cassandra Week posts.