Can RDBMS scale under load? A survey of the case studies

Relational databases first appeared in 1970 and have been evolving ever since. Nevertheless, can they meet the demands of the new technologies? Can they be used in modern times of distributed high-load computing?

RDBMS stands for Relational Database Management System and is a type of Database Management System (DBMS) that works with data in a row-based table structure that connects related data elements. They usually allow access to data through Structured Querry Language (SQL). Such databases are common for storing flat structured data in applications, like user data, orders, and others.

It is important to note that there are two types of scaling: vertical and horizontal [1]. Vertical scaling, or “scale up”, is achieved by increasing the capabilities of one node, for example, by upgrading CPU, adding memory or storage. This type of scaling does not require code changes but has a limit to its usefulness. Horizontal scaling, or “scale out”, is achieved by increasing amount of nodes in the cluster. This type of scaling requires many issues, like resource management, task allocation, and latency. However, this type of scaling has virtually no limit and is how most large-scale applications exist, like social networks.

However, due to their core design originating in 1970, they were not meant for scaling, especially horizontal. There are some solutions, but it is still a common problem. This does not stop them from scaling vertically: better storage, memory, and processors do increase their performance. Even one of the popular RDBMS, MariaDB, only differs from another, more popular RDBMS, MySQL, in the way it stores data. Talking about different databases, according to [3], the NoSQL database (MongoDB) outperforms SQL (MySQL) in many benchmarks. This is most likely because many NoSQL databases are developed with horizontal scaling in mind. But even talking about SQL databases, many people seek alternatives when talking about scalability in RDBMS, like in [4], where authors propose to use Hadoop and Hive instead of RDBMS for its scalability. Or develop entirely new databases, like in [5], where authors propose a new type of SQL databases to address the scalability of RDBMS.

To sum up all of the mentioned above, it's clear that traditional RDBMS can't scale enough under a high load. They can scale vertically, but they have their limits and is insufficient for high load computing

References

  1. Hadjigeorgiou, C. (2013). Rdbms vs nosql: Performance and scaling comparison. MSc in High.
  2. Hollingsworth, M. R. (2012). Hadoop and hive as scalable alternatives to RDBMS: A Case Study.
  3. Kumar, R., & Charu, S. (2014). Newsql databases: Scalable rdbms for oltp needs to handle big data. International Journal of Modern Computer Science (IJMCS), 3, 13-17.