title: Are there any easy to use distributed relational databases?
body: <p>I've been talking with one of my friends about distributed relational databases, using the defintion:</p>
  
  <ol>
  <li>Supports everything a relational database does (SQL, ACID)</li>
  <li>Distributed (multiple servers)</li>
  <li>Automatic (or automatic-ish) -- Install the program on multiple servers, give them whatever information they need to communicate (IP addresses), and then they figure out how to distribute things automatically</li>
  </ol>
  
  <p>(3) is the part that doesn't seem to be done anywhere. You can do sharding, but then you need extra code in your application to figure out which server to talk to. What I'm looking for is something like Memcached, but as a relational database (Memcached is key-value), and ACID-compliant (Memcached is in-memory only, and I doesn't have anything like transactions).</p>
  
  <p>Obviously something like this would be incredibly complicated to do well, but it surprises me that I can't see to find any examples of it being done.</p>