0
votes

We run a Cassandra/Solr cluster, currently with Cassandra and Solr residing on the same hard drive in each node.

I'm looking to add an SSD drive to each node, and effectively separate Cassandra and Solr to separate hard drives. I'd like to add 2 SSDs per node, however due to budgetary constraints I most likely won't be able to purchase 2 separate drives per node right now, and will be limited to 1.

That said, our main use of the database during the day for our customers is that they query the database via our fronted UI/Solr, so the most important thing is to optimize it for all of the potential reads/queries throughout the business day (all processing, analytics, etc happens after hours). Which would be the best/most effective use of the SSD drives, put Solr on them or Cassandra?

I'm not expecting a miracle increase in performance, rather I'm thinking that putting Solr on the faster drive would be more advantageous in our situation, just want to verify I'm looking at this correctly.

2
If you have the space on the SSD, you could run both from the same device: SSDs are so much faster than harddrives for the small random reads used by Solr and (guessing here) Cassandra for querying that just one of them should give a noticeable improvement. - Toke Eskildsen

2 Answers

0
votes

I won't assume anything about your environment, other than what you have mentioned, but keep in mind that DSE Search will read from Cassandra both along the indexing path (read-before-write to ensure valid whole documents for insertion into the Lucene index) and the query path (since stored document fields are retrieved from Cassandra, not Lucene itself). Optimally, your search queries will be accessing the Solr filter cache and segments/docValues of your Lucene index loaded into your OS page cache.

0
votes

You don't mention the size of your Solr index relative to system memory.

In an ideal world, your Solr index fits in RAM... in my experience, when the the price of RAM prevents you from fitting the Solr index in RAM, putting the Solr index on SSDs provides a dramatic improvement in performance.

I have very limited experience running a mixed-storage system where the Cassandra SSTables are on platters and Solr indexes on SSDs, but what experience I have suggests that's a worthwhile approach and should still provide significant performance improvements vs 100% platters.