Blade servers and databases

I’m a web programmer, not a server admin, but one thing has always puzzled me: if each blade in a blade server is a separate computer and there’s no central memory, how does a blade server provide access to information in a main database? Do you install the database on each blade and replicate all the changes between them?

For example, let’s say a blade server provides access to Wikipedia. How are Wikipedia requests distributed between the blades? Does one blade handle A-D requests while another blade handles E-H?

Server hardware has always fascinated me. If anyone wants to share how their system is configured and how well it works, I’d be happy to know.

You might find this interesting: Wikimedia servers - Meta

Typically, the requests are handled by a cluster of web servers, that connect over a fast LAN to a cluster of database servers, which actually store all the data. For a global organisation, the database servers might be replicated across several locations, each with a web server front-end. Hardware load balancers spread the workload across the servers in a cluster, on a round-robin or least-busy basis, to keep all the boxes humming and as many active connections as possible. Lots of caching at various levels helps reduce latency, and the back-end servers are usually connected to a fast SAN or equivalent, using replication technology to keep all the servers in sync. Each server may or may not contain a complete copy of the database.

That’s a very, very simple setup; in practice it might be far more complex.

More info here: A Look Inside Wikipedia's Infrastructure | Data Center Knowledge | News and analysis for the data center industry

Thanks Dervorin! Those are great links.