title: SOLR and VNodes and Tokens
body: <p><strong>Note: I have done a little reformatting and added some additional information.</strong><br />
  <br />
  Please take a look at this: <a href="https://stackoverflow.com/questions/28331235/running-search-workload-and-cassandra-workload-on-the-same-physical-node/28333325#28333325">Question_Answer</a><br />
  <br />
  I want to ask - with DSE 5.0 and the upcoming changes that were mentioned at C* Summit this year for 5.1 and 5.2, will the same advice be useful?</p>
  
  <p>Our use case is:</p>
  
  <p>The platform MUST be available at all times. (Cassandra)<br />
  The data must be searchable. (SOLR / Lucene)<br />
  The platform MUST provide analytics / Data Warehousing / BI etc (Graph / Spark)<br /></p>
  
  <p>All of that is possible in a single product offering thanks to DSE! Thank you DataStax!</p>
  
  <p>But our amount of data stored and our transaction count are VERY modest.<br />
  Our specification is for 100 concurrent sessions within the application - which of course doesn't even translate to 100 concurrent DB requests / operations.<br />
  <br />
  For the most part our application resembles an everyday enterprise CRUD application.<br />
  <br />
  While not ridiculous, AWS instances aren't exactly free.<br />
  Having a separate cluster for each workload (with enough replication for continuous availability), will be a cost issue for us.<br />
  <br />
  While I understand, a proof of concept can offer some help - but without a real workload / real users - passing through the services / applications - in ways that only a "production" system and rogue users : can really provide an insight for. The best you can do is "loaded" functional testing.<br />
  <br />
  In short, we're a little stuck here from a platform perspective.<br />
  <br />
  We're, initially, thinking of having:<br />
  <br />
  2 data centres for geographic isolation<br />
  2 racks per DC<br />
  2 nodes per Rack<br />
  RF of 3<br />
  CL of local_quorum<br />
  <br />
  If we find we're hitting performance issues, we can scale out - add an extra rack or extra nodes to the initial 2 racks.<br />
  <br />
  As for V-nodes or number of tokens, we have no idea.<br />
  <br />
  The documentation for DSE Search says V-nodes adds 30% overhead, so it sounds like you shouldn't use V-nodes, but then in a table in the documentation it also says to use 16 or 32. How can it be both?<br />
  <br />
  If we can successfully run all workloads on a single node (our requirements are genuinely minimal), do we run with V-nodes (16 or 32) or do we run a single token?<br />
  <br />
  Lastly, is there another alternative?<br />
  Can you have Nodes with different workloads in the same data centre? Where individual nodes are set up with RAM / CPU requirements for a specific workload?<br />
  <br />
  Assuming our 4 node per data centre (as a starting place only - we have no idea whether or not you can successfully run Search on a single node / or Spark on a single node)<br />
  <br />
  Node 1: Just Cassandra<br />
  Node 2 : Cassandra and Search<br />
  Node 3 : Cassandra and Graph<br />
  Node 4 : Cassandra and Spark<br />
  <br />
  If Search needs 64GB RAM - so be it... but the Cassandra only node could well work with just 8 or 16.<br />
  <br />
  So we can cater, in terms of CPU and memory per workload type - but still only have a single DC. (We'll have 2 for redundancy - but effectively it is a single DC installation : mirrored)<br />
  <br />
  Thanks in advance for your help.<br /></p>