Database question
I have a question pertaining to large scale database systems. Normally I would just sit and try to be content not knowing the answer, but because this is something that has plagued LJ, I'm kinda itching for an answer.
My question is, how do large ass web sites with huge databases, scale across multiple machines. At the moment, LJ has 1 master server with several slaves. The slaves cannot be counted on to be as accurate as the master, so all writes, and important reads must come from there. As we saw recently, once that machine gets bogged down, everything goes. So how do sites like Dell and eBay solve this problem? Do they have many machines each running with an entire copy of the database, and they somehow keep them all replicating and current? Or do they have many machines, each one running just a piece of the entire database, with some sort of index that directs requests to the right machine?
Whatever the answer, I'm not necessarily suggesting this for LJ, it's just what got me interested in all this. Thanks everyone.
My question is, how do large ass web sites with huge databases, scale across multiple machines. At the moment, LJ has 1 master server with several slaves. The slaves cannot be counted on to be as accurate as the master, so all writes, and important reads must come from there. As we saw recently, once that machine gets bogged down, everything goes. So how do sites like Dell and eBay solve this problem? Do they have many machines each running with an entire copy of the database, and they somehow keep them all replicating and current? Or do they have many machines, each one running just a piece of the entire database, with some sort of index that directs requests to the right machine?
Whatever the answer, I'm not necessarily suggesting this for LJ, it's just what got me interested in all this. Thanks everyone.
