Relational databases have been the dominant database technology for over 40 years powering everything from enterprise applications to mobile apps. But with the meteoric rise of next-generation NoSQL datastores, some claim the era of relational dominance is over. Is this true or do relational databases still have a central role to play? In this article, we’ll discuss both sides of the debate in detail.
Are Relational Databases Dead?
After reading both the cases, you’ll be able to decided whether relational databases are dead or otherwise.
The Case Against Relational Databases
Relational databases once ruled the data management landscape. The critics of relational databases argue that they no longer meet the demands of modern software applications due to some limitations. Here are some disadvantages of relational databases.
Relational databases require a predefined schema to specify all tables, columns, data types, constraints, relationships etc. This schema is hard to change once the application goes live. Such rigid schemas hinder agile software practices which require iterating and changing data models frequently.
The schemas also impose a tabular structure which does not fit well with more flexible data types like JSON, graphs and documents. Significant object-relational mapping is needed to convert application objects to relational model.
Not Optimized for Scale
The traditional architecture of relational databases makes it challenging to scale workloads horizontally across cheap commodity servers. They were designed in an era where vertical scaling using expensive scale-up servers was the only option.
Trying to distribute data and queries across nodes faces issues like distributed transactions, schema changes, and latency overhead of distributed joins. The legacy infrastructure is optimized for vertical scaling rather than horizontal scaling.
Not Suited for Unstructured Data
More applications today need to manage semi-structured data like documents, JSON, graphs and media. But the rigid tabular relational model does not fit such heterogeneous unstructured data well. Significant ETL and application logic is needed to normalize such data into relational tables.
High Operational Complexity
Relational databases bring considerable operational complexity in terms of installation, configuration, tuning, optimization, high availability and more. Entire teams of specialized DBAs are often needed to run RDBMSs smoothly. This overhead hinders agility and adds costs.
Not Optimized for Cloud
Major RDBMSs were designed in the pre-cloud era. As a result, they lack many capabilities expected of modern cloud-native data platforms like elastic scaling, high availability built-in, serverless deployment and consumption-based pricing. Migrating legacy RDBMSs to cloud involves additional integration work to achieve cloud benefits.
Dependency on SQL
Relational databases force applications to use SQL for all data access rather than modern programming languages. This creates an impedance mismatch that requires helper libraries like ORMs to work around. The SQL skills needed are becoming scarce.
Based on the above factors, critics argue relational databases no longer meet demands of the cloud, scale-out and agile software eras. The future belongs to NoSQL.
The Case for Relational Databases
NoSQL datastores provide great benefits for certain modern workloads, proponents argue relational databases continue to be optimal and irreplaceable for many mission critical workloads due to their key strengths:
Maturity and Reliability
Relational databases have over 40 years of technology evolution and real-world hardening. The technology underpinning relational databases has been proven through countless stress tests. This unmatched maturity makes RDBMSs the most reliable choice for many risk-averse enterprises to run business critical workloads.
Complex Query Capabilities
The declarative SQL language makes relational databases uniquely capable of expressing complex analytical and reporting queries. SQL provides an unrivaled ability to filter, aggregate, join and transform data sets for analysis. It remains the query language of choice for data analysts and BI tools.
Relational databases avoid vendor lock-in through open standards like SQL, JDBC, ODBC etc. These standards make sure skills, apps and data are portable across different database vendors and generations. Enterprises value avoiding risk of proprietary lock-in.
Data Integrity Guarantees
The ACID transaction properties of relational databases combined with declarative constraints, foreign key references and other integrity mechanisms provide the ability to maintain data accuracy and consistency. For many enterprises, these are indispensable.
Several tools for reporting, visualization, ETL, monitoring have been built around relational databases using SQL interfaces. Migrating away faces challenges of losing existing tool integrations or rebuilding them on new data platforms.
Using relational databases for workloads that utilizes its strengths while adopting NoSQL alternatives where appropriate allows benefit from both. Enterprises don’t have to adopt either-or extremes but can instead use each technology where optimal through polyglot persistence.
As RDBMSs may not monopolize the data market, proponents argue that relational database continues to provide indispensable value for many mission critical workloads.
Evolution of Relational Databases
Another argument made by proponents of relational databases is significant innovation goes on with in response to modern demands:
New SQL platforms like Google Spanner have shown relational databases can be re-architected for distributed horizontal scaling across commodity servers in the cloud. Legacy RDBMSs are also adapting to become more scalable through new features.
Leading relational databases have added JSON support which helps in easy storage and querying. This bridges the mismatch between relational structures and semi-structured JSON data needed by modern apps.
Cloud Native Capabilities
Major RDBMSs like Amazon Aurora, Azure SQL and Snowflake have built cloud-optimized relational databases with auto-scaling, consumption-based pricing and high availability managed services. They compete well with NoSQL cloud services.
Automating and simplifying database management has been a key focus area. Auto-tuning, automated failover, one-click deployment, serverless platforms and managed services reduce operational overheads.
Open Source Innovation
FOSS RDBMSs like PostgreSQL provide battle-tested relational databases with enterprise features at zero license cost. This levels the playing field for relational databases against open source NoSQL adoption.
So existing RDBMS players continue to innovate and remain competitive in the face of NoSQL and cloud disruption. They aren’t going away without a fight.
It is unrealistic to expect relational databases to dominate the market like before. Purpose-built NoSQL and NewSQL datastores provide compelling advantages for certain workloads.
But it is equally unrealistic to expect enterprises to abruptly abandon trusted RDBMS technologies powering mission critical systems and years of institutional BI.
The most pragmatic outlook is increased polyglot persistence where relational databases continue to handle structured business data and transactions while NoSQL stores like MongoDB handle specific access patterns. SQL and NoSQL can complement each other rather than compete.
For new applications without legacy constraints, developers should evaluate both SQL and NoSQL options. But in existing enterprises, legacy RDBMSs will continue to operate for years or decades in gradually declining but still central roles.
- Relational databases face limitations in the cloud and big data era but retain unique strengths around transactions, complex querying, and mission critical reliability.
- Pragmatic enterprises are adopting polyglot persistence where SQL and NoSQL datastores complement each other for different workloads.
- Legacy RDBMSs will continue to operate for the foreseeable future due to complex data migrations. But their central role will gradually decline in favor of newer data platforms.
The days of RDBMS dominance are past, predictions of their death are exaggerated. For the pragmatic enterprise architect, the future is polyglot persistence using the optimal data platform based not on dogma but workload needs.