Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there any easy to use distributed relational databases? [closed]

I've been talking with one of my friends about distributed relational databases, using the defintion:

  1. Supports everything a relational database does (SQL, ACID)
  2. Distributed (multiple servers)
  3. 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

(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).

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.

like image 466
Brendan Long Avatar asked Jul 18 '11 02:07

Brendan Long


2 Answers

Teradata provides this but it is sold as an appliance. They have an automatically sharded ACID and SQL compliant RDBMS but you have to buy the nodes from them.

like image 60
gordy Avatar answered Oct 07 '22 03:10

gordy


Caveat: I represent NimbusDB.

NuoDB (previously NimbusDB) does exactly this. It's hard to do if you start with traditional database architectures, but you get it for free if you start with a modern distributed architecture.

like image 29
Barry Morris Avatar answered Oct 07 '22 04:10

Barry Morris