An extremely popular discussion last week was Dennis Forbes’ ☞ post on SQL scalability which more or less concluded that SQL is scalable and NoSQL isn’t for everyone.
I have been lucky to catch this post early and post a long comment to it, which ended up suggesting a different conclusion: SQL is scalable. SQL scalability isn’t for everyone. NoSQL isn’t for everyone either. Unfortunately, even if Dennis agreed with this new conclusion, things got quite wrong in the comment thread.
- Vogels and company know more about scalability than just about anyone, and more […] Vogels’s definition of scalability is right or wrong on the merits, not based on who he is or what other opinions you attribute to him.
- Equating “highly interrelated” with “relational” doesn’t do justice to either, and characterizing social-media workloads as “largely unrelated islands of data” is just laughable.
- Your notions of I/O performance are way off.
- Saying that RDBMSes are scalable, because you can (a) throw a ton of money at Oracle/Sybase or (b) do most of the work sharding and replicating something like MySQL, is a bit disingenuous.
- Defining scalability in terms of “highest realistic level of usage” and “maintaining acceptable service level” is also a big pile of weasel words.
It doesn’t really matter if you are in the NoSQL camp or not, or if you feel like defending SQL/RDBMS from what some sensationalist publishers call the end of SQL/RDBMS, but you should always try to get things right. While I’ve already said this everywhere, I’ll continue telling it: like NoSQL or not, we are better off having good options around while building the next product!