Many articles claim that relational databases cannot be scaled and NOSQL is better at it but do not explain why. Scalability is often projected as an advantage of NOSQL. What is the problem with scaling relational databases? What makes NOSQL databases superior to relational databases in the aspect of scalability?
-
1A lot of those articles are sponsored by vendors and thus biased, always doing *best cased* comparisons :-) Scalability is usually related to *MPP/Massive Parallel Processing*, i.e. running on multiple servers in parallel. But at least some traditional DBMSes provided MPP for decades and can scale easily, e.g. Teradata. – dnoeth Jul 15 '19 at 09:43
-
This is a faq. Before considering posting please always google any error message & many clear, concise & precise phrasings of your question/problem/goal, with & without your particular strings, names & line numbers & then read many answers. If you post a question, use one phrasing as title. See [ask] & the voting arrow mouseover texts. – philipxy Jul 16 '19 at 01:35
-
1@philipxy - I checked existing questions ... Did not get the answer anywhere. So, asked it again. – Praveen Nvs Jul 17 '19 at 08:47
-
I just googled 'site:stackoverflow.com relational databases scale vs NOSQL' & found hits immediately. Unfortunately the [so]/[se] search facility is poor. PS In ten years of SO this can't be expected to be the first time this is asked. Also this post "does not show any research effort". – philipxy Jul 17 '19 at 19:44
-
Possible duplicate of [Why NoSQL is better at “scaling out” than RDBMS?](https://stackoverflow.com/q/8729779/3404097) – philipxy Jul 17 '19 at 19:45
2 Answers
Both SQL and NOSQL databases can scale. However, NOSQL databases have some simplified functionality that can improve scalability.
For instance, SQL databases generally enforce a set of properties called ACID properties. These ensure the consistency of the data over time and the ability implement an entire transaction "all at once".
However, when running in a multi-processor environment, there is overhead to strictly maintaining the ACID properties. Basically, the data needs to look the same from any processor at the same time.
NOSQL databases often implement "ACID-lite". For instance, they offer "eventual-consistency". This means that for a few seconds or minutes, a query might return different values depending on which processor(s) process it. And, this is fine for many applications.

- 1,242,037
- 58
- 646
- 786
This truly depends on the requirement of the enterprise in long run and volume of the data expected. The other key factor is the requirement in terms of do we need OLTP kind of scenario only and reporting is less which means implementing ACID scenario. No SQL is usually best for the scenario where reporting is vital as compare to SQL. As both carry its own Mertis but ideally its hybrid model to take adavntage of both usually works better where you have scalability and better transaction control on SQL DB's and high performance rreporting using NO SQL DB which allow all level of freedom such as graph DB, Key value pair. There are lot of intresting comparision are available evne for specific DB you want to evaluate. Puneet