Cassandra or SOLR? What gives better performance to frond end read queries?

cassandra, indexing, lucene, solandra, solr

Solution

- Cassandra is a NoSQL data store and it was designed to take care of huge amounts of data. Tera bytes and beyond. Definitely it was designed to perform.

- Remember that NoSQL DB's or data stores have limited capabilities when it comes to queries. They will not have JOIN queries. As this will kill a system. Think about it!

- You would definitely be able to read/write pretty fast and some of the data can be queried.

- Flexible schema, you can push sparse data into it. That is, where in general DB's you push NULL for an empty entry, here you dont push it at all :) You don't need to!

- No full text searching.

This is where the big BUT comes in.

- Having said the above, SOLR on the other end is TF-IDF full text search engine. Though you can use it for your DB.

- Flexible Schema. Just mark fields that are not required.

- Solr will help in tokenizing, parsing and indexing the data pretty quickly. It will have a superb response. It returns XML and you can parse the XML to create data that is representable.

- Read queries are fast and I mean really fast. But I have no comparison between Cassandra and SOLR to share.

And in the end, since you want CASSANDRA and SOLR together. Check out SOLANDRA (former Lucandra)

Problem

My team has asked me to choose between Cassandra and SOLR for faster response @ frond end queries. I told them that Cassandra is NOSQL db thing while SOLR is indexing thing. But then they say that we can push our complete db to SOLR (like using SOLR as db) or we can just use Cassandra with SOLR. All confused. Amount of data we are dealing is like 1 Billion spread over 4 MySQL table(fetched using joins) and we get only read queries from the website. We dont need FULL TEXT SEARCH I think something in which SOLR cannot be beated easily is is its full text search feature but then we dont need it on our case. So what else SOLR has which Cassandra cannot provide and what does Cassandra has that it can replace SOLR in our particular case? In other words, who is going to perform better? Cassandra alone? SOLR as a db alone? Or both together? And most importantly why and why not? Its really important for me to backup my choice with strong point as if why one is better than other during my next team meeting. And thanks in advance. EDIT: - SOLANDRA is not an option because it not that mature and no more maintained I guess - DataStax is not an option because SOLR feature is provided in only Enterprise Edition

Original source