title: Neo4j partition
body: <p>Is the a way to physically separate between neo4j partitions?
  Meaning the following query will go to node1:</p>
  
  <pre><code>Match (a:User:Facebook)
  </code></pre>
  
  <p>While this query will go to another node (maybe hosted on docker)</p>
  
  <pre><code>Match (b:User:Google)
  </code></pre>
  
  <p>this is the case:
  i want to store data of several clients under neo4j, hopefully lots of them.
  now, i'm not sure about whats is the best design for that but it has to fulfill few conditions:</p>
  
  <ol>
  <li>no mixed data should be returned from a cypher query ( its really hard to make sure, that no developer will forget the ":Partition1" (for example) in a cypher query)</li>
  <li>performance of 1 client shouldn't affect another client, for example, if 1 client has lots of data, and another client has small amount of data, or if a "heavy" query of 1 client is currently running, i dont want other "lite" queries of another client to suffer from slow slow performance</li>
  </ol>
  
  <p>in other words, storing everything under 1 node, at some point in the future, <strong>i think</strong>,  will have scalability problem, when i'll have more clients.</p>
  
  <p>btw, is it common to have few clusters?</p>
  
  <p>also whats the advantage of partitioning over creating different Label for each client? for example: Users_client_1 , Users_client_2 etc</p>