By now i'm sure we've all read the comments bouncing around in blogs about the twitter scaling problem: namely they were worried about how to use rails against multiple cloned database backends. Well, whats wrong with having a pair (or more) of cloned database hosts, and editing the tcpip 'hosts' file on your different rails servers so that half your rails servers are pointing at one database, and half are pointing at the other? Wouldn't that be pretty simple and do the job? Or am i missing something?
on 2007-04-17 09:58
on 2007-04-17 11:02
On 4/17/07, chris hulbert <email@example.com> wrote: > Wouldn't that be pretty simple and do the job? Or am i missing > something? You couldn't do this, because you would get ID conflicts from auto-increment. Two inserts on the same table on each DB would conflict. However, there are facilities for multi-master replication in some databases, such as Mysql 5  You need to have some sort of code to handle connections, at least to watch for dead servers and failover. Also, you'd want to designate some read-only servers pretty early on because writing across many masters would get expensive quickly. So then you are back to square one, as need to handle writing to certain databases and reading from others. Nic's plugin would handle that, I believe. In other words, scaling can start simple but it gets complicated quick :). 1 - http://www.onlamp.com/pub/a/onlamp/2006/04/20/adva... - Rob
on 2007-04-18 02:50
I think you got it right here: Rob S. wrote: > because writing across many masters would get expensive quickly.