I talked to one of my friends about distributed relational databases using defintion:
- Supports all relational databases (SQL, ACID)
- Distributed (multiple servers)
- Automatic (or automatic-ish) - Install the program on several servers, tell them any information they need for communication (IP addresses), and then figure out how to automatically distribute things.
(3) is a part that seems to be never performed anywhere. You can do sharding, but then you need additional code in your application to figure out which server to talk to. What I'm looking for is similar to Memcached, but as a relational database (Memcached is the key) and ACID-compatible (Memcached is only in memory and I don't have anything like transactions).
Obviously, something like this would be incredibly difficult to succeed, but it surprises me that I don't see to find any examples of this.
Brendan long
source share