What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

I hope this is a quick question, but could someone tell me if a single database was used to maintain all 4 sites (stackoverflow.com, serverfault.com, meta.stackoverflow.com, superuser.com) or if each site has their own database.

The same applies for the code-base, is it one managed code-base, or are changes maintained on one master copy, and then pushed out to the aforementioned sites.

Thanks, Kyle

share|improve this question

3 Answers 3

up vote 6 down vote accepted

I would hope/imagine different databases that just happen to have identical (for the most part?) schemas.

You don't want one database failure to bring down four sites.

share|improve this answer
    
Why don't you visit Meta any more? :( You are an awesome user. Your answers are great. –  hims056 Jan 23 at 7:14

My imagination has it as one DB server, one redundant DB server that's getting mirrored updates from the master DB server, and 4 Databases in each server.

I further imagine that there's 1 source tree that contains the code for all the sites, but that there's some 4 production source trees that get updated from this 1 tree. They contain differences in the CSS, Web.config, and other details that differentiate the sites.

Potentially there's some configuration in each database, like required tags.

share|improve this answer
    
I might be wrong, but I don't think they currently have a redundant DB server for warm swap. I think they've got another server sitting in the data center configured and waiting to be installed if either the db server or one of the IIS servers goes donw. –  Nathan Koop Oct 23 '09 at 16:04
    
I'd assumed that the least loaded web server (the one with Meta on it) might be handling that secondary DB backup, but I also wasn't sure how the backups were handled. –  dlamblin Oct 26 '09 at 6:20

There's different databases per site. Generally speaking, if you're not talking about rolling out thousands of sites, it's easier this way for scalability purposes. Makes it easier to split the databases out onto different servers later if load requires.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .