I don’t think that I need to explain what Cassandra is. OK, one liner is enough ! It is NoSQL database, primarily used in big data projects.

Before we start discussing scenarios where Cassandra fits very well, let’s discuss where it doesn’t fit at all.

We’ll have lots of data, let’s use Cassandra

Cassandra is not a typical database which fits in every Big Data use case. In some no big data cases also it can fit very well. At other side it can be a bad choice even in a big data project. Cassandra is useless unless you need to read a lot of data in one go and that data is stored side by side so that a single seek read can grab entire data you need. It is very bad if your query is returning just one or few rows and you are making lot of queries.

Our organization has Cassandra running as a service so it is easy for us to atleast start with it

So what? Let other teams use but you stay away if it doesn’t suite you. Sometime MySQL can be a better choice than Cassandra.

Ohh ! CQL is just like SQL. Great !!, now we can query any data !

No this is incorrect. CQL is not SQL. You can’t join tables in CQL. There are many other differences too.

Ohh no, Cassandra doesn’t allow manipulation of data during read or write

Yes, it just gives you what is stored or simply writes what you give it. No data manupulation on the fly.

WoW, this User defined functions are great things, let’s create many

Don’t keep Cassandra coordinator busy in doing things which are not related to Cassandra. This will impact the performance of your Cassandra cluster.