Reputation: 11
I know there are similar questions on SO but some are a decade old and others don't have helpful answers.
I am a newbie in the system designing world. I have some experience with relational DBMS where I created some small scale projects.
Every post on 'Relational vs Non-Relational DBMS' points out that because of ACID transactions, Ref integrity constraints and consistency, Relational DBMS are difficult to scale. But on the other hand giants like Amazon and financial services continue to use relational DBMS and they don't seem to have any problems with scalability.
I just want to theoretically understand if relational DBMS are actually difficult to scale? If it is, how are these companies using it with terabytes of data?
Thank you!
Upvotes: 1
Views: 195
Reputation: 7344
As long as the data is in Third Normal Form, and appropriate indexes are applied, there should be no problem. This requires knowing what data is to be stored and how it needs to be accessed.
At some scale (e.g. I had a system which added up to 18 million rows per day to 1 table) you may want to have a process in place to transfer new data to an Analysis database (OLAP - e.g. SQL Server Analysis Database, MSAS). An OLAP is relatively easy to design, but the process to keep it up-to-date on even a daily basis can be difficult to design and manage without some experience. Queries to an OLAP database are optimised for reporting; I don't believe that any query for the system I mentioned ever took more than an average of 3 seconds to complete.
Upvotes: 0