1

RDBMS are traditionally better for vertical scaling since it's harder to do horizontal scaling. As a result NoSql databases are cheaper since they can more easily scale horizontally.

However in recent times RDBMS are horizontally scalable - although they might be harder to do.

So here is my question(s)

I assume it is still cheaper to horizontally scale an relational db than it is to scale it vertically, but still not as efficient as scaling for NoSQL. True or False?

Secondly, are there some ratios that explains the Vertical/Horizontal scaling costs for relational systems and NoSql systems. (I can imagine these change depending on availability - but I only want to know rough estimates as I am not making a business decision - I am just learning about it)

2 Answers 2

3

Cost of horizontal scalability is mostly a function of hardware provisioning and server hosting, and much removed from the software used for a database system, in my opinion. Yes, NoSQL databases are meant to be able to horizontally scale more easily but that doesn't necessarily mean more cheaply.

In fact, I believe in a lot of cases there's an inverse relationship between cost and ease of implementation. For example, there's so many database systems in existence currently, I don't doubt for every easy to implement horizontally scaling modern NoSQL database system, there's a cheaper horizontally scaling relational database system - at the tradeoff that it's likely a harder to achieve goal in such system (less well implemented, tested, and less commonplace, etc).

"I assume it is still cheaper to horizontally scale an relational db than it is to scale it vertically" - I don't believe this to generally be true either (in the context of a relational database). Horizontal scaling typically involves multiple servers, which means more hardware provisioning (Disk, Memory, and CPU all at once) than vertically scaling a single server, since usually further provisioning is needed as a result of not all resources being exhausted at one time, rather a particular resource topping out instead.

"Secondly, are there some ratios that explains the Vertical/Horizontal scaling costs for relational systems and NoSql systems." - Unfortunately I don't think you'll be able to find an answer to that, being that's just too broad of a question with too many variables, such as the many choices of how to provision a server, the OS used, if it's cloud (with the many options available), off-site, or locally hosted and maintained, etc.

To come to a practical answer here, you'd have to analyze the cost efficiency vs ease of implementation of two particular database systems, in practice. So, you're better off deciding on an actual relational database system and a NoSQL database system that you'd be interested in using. Then decide on the hardware you would need to provision behind both systems for the same workload and example data, and server hosting option you'd want to use in both cases. Once you've gotten that far in practice, you can start effectively comparing the cost differences.

3

At any point in time the server hardware with the best price/performance will have a certain number of compute cores and a certain amount of memory.

Horizontal scaling is only less expensive than vertical scaling for workloads that require more resources than can be provided by that server.

Currently that's something like 48 compute cores and 500GB of RAM, which can handle database workloads of several terabytes and several thousand requests per second.

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.