2 minutes
Cassandra : When not to use
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.