title: Recommended Setup for BigData Application
body: <p>I am currently working on a long term project that will need to support:</p>
  
  <ul>
  <li>Lots of fast Read/Write operations via RESTful Services</li>
  <li>An Analytics Engine continually reading and making sense of data</li>
  </ul>
  
  <p><strong>It is vital that the performance of the Analytics Engine not be affected by the volume of Reads/Writes coming from the API calls.</strong></p>
  
  <p>Because of that, I'm thinking that I may have to use a "front-end" database and some sort of "back-end" data warehouse. I would also need to have something like Elastic Search or Solr indexing the data stored in the data warehouse.</p>
  
  <p><strong>The Questions:</strong></p>
  
  <ol>
  <li>Is this a Recommended Setup? What would the alternative be?</li>
  </ol>
  
  <p><strong>If so...</strong></p>
  
  <ol start="2">
  <li>I'm considering either Hive or Pig for the data-warehousing, and Elastic Search or Solr as a Search Engine. Which combination is known to work better together?</li>
  </ol>
  
  <p><strong>And finally...</strong></p>
  
  <ol start="3">
  <li>I'm seriously considering Cassandra as the "fron-end" database. What is the relation between Cassandra and Hadoop, and when/why should they be put to work together instead of having just Cassandra?</li>
  </ol>
  
  <p>Please note, <strong>my intention is NOT to start a debate about which of these is better, but to understand how can they be put to work better more efficiently.</strong> If it makes any difference, the main code is being written in Scala and Java.</p>
  
  <p>I truly appreciate your help. I'm basically learning as I go and all comments will be very helpful.</p>
  
  <p>Thank you.</p>