Correct me if I'm misunderstanding. Refer to the following sentence:

Stack Overflow copied a key part of the Wikipedia database design. This turned out to be a mistake which will need massive and painful database refactoring to fix. The refactorings will be to avoid excessive joins in a lot of key queries. This is the key lesson from giant multi-terabyte table schemas (like Google’s BigTable) which are completely join-free. This is significant because Stack Overflow's database is almost completely in RAM and the joins still exact too high a cost.1

Actually I'm trying to pass from the interest on single technology like Asp.net MVC to architectures design.

Can you better clarify the quoted sentence?

[1] http://highscalability.com/stack-overflow-architecture

1 Answer 1


You've misread the directionality of the quote.

JOINs are generally discouraged for high-volume systems, because they are expensive (because of I/O being necessary more than one table). SO put their database into RAM specifically to avoid being hit by double disk I/O costs, and it turns out that even without physical I/O, the double table searching is still too slow. That shows you just how inefficient JOINs are on large volumes of data.

  • But that's impressive... How can it be? A similar sentence seems to show that relational database are not enough efficient on one of their primary task.. (handling 3NF).. I think it really worths a question here.. Apr 7, 2014 at 14:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.