2 ms·
The #1 way to get relational databases to scale is to either teach your application developers to really really understand relational databases and performance
by kls 16y ago
The #1 way to get relational databases to scale is to either teach your application developers to really really understand relational databases and performance trade offs or don't allow them to be responsible for the data model.
In my experience I have seen more atrocities committed due to developers using a relational database as a file-system, an XML document, a key value store or some variation in between.
When people complain about scaling in relational databases they usually mean that it is more rigid, and not easily adapted to changes. Which is valid and is why you cannot apply software development practices to database design. With database design you have to plan for the future and think out how your solution will grow as to not paint yourself into a corner. Further in relational design there is no such thing as premature optimization, if one thinks there is, one has already failed at setting up a robust relational database architecture.
At one of my start-ups we supported massive amounts of traffic from Hotels.com, Orbitz, Travelocity and Expedia all looking for pricing and allotment each time someone hit their front door and we did it all on applications that where backed by relational databases. We never saw Google or Facebook size traffic, but we had constant load of more than any one of those travel sites and many times load of all of them combined.
A solid application architecture and a sound relational model can scale quite well you just have to have good people that understand each discipline.