Choosing a database is a big decision for any enterprise, and one that can have lasting repercussions. In this blog, we look at open source relational database management systems (open source RDBMS), and the factors that organizations should consider before choosing a RDBMS.
Relational database management systems (RDBMS) have been the gold standard for backend data systems for decades. And, at a high enough level, the differences between the various RDBMS options seem to be minute. They all read and write data at similar rates, they all work with related and structured data, and they all focus on consistency and availability in that data.
Download the Complete Decision Maker's Guide to Open Source DatabasesIn our the complete Decision Maker's Guide to Open Source Databases, our experts weigh in on the top open source graph databases, columnar databases, key value databases, and more.Download for Free
In our the complete Decision Maker's Guide to Open Source Databases, our experts weigh in on the top open source graph databases, columnar databases, key value databases, and more.
Download for Free
Similarities aside, choosing the right RDBMS is a big choice — especially when you consider that RDBMS are less scalable than their non-relational, horizontally scalable counterparts. This means your hosting costs can scale alongside usage, if not handled properly. That’s not to say that these RDBMS aren’t adapting to the modern reality of big data, but because of the fundamental needs of data consistency that they provide, there’s currently no way for them to operate with the same scalability as other non-relational databases.
In the sections below, we present details on four of the top RDBMS options available today, with insights from our Enterprise Architects on what to consider when adopting the database, and background data on the databases themselves. That data includes the latest release for the database, license type, the number of committers and contributors, and data on security responsiveness and update frequency.
While there are other open source RDBMS we could have included, our experts selected these four on account of their suitability for enterprise IT systems.
PostgreSQL is one of the most well-known open source databases and is often compared in terms of features and functionality with larger, commercial databases such as Oracle and DB2.
Its first iteration was programmed at UC Berkeley back in the 1980s, making it one of the most mature open source database solutions around as well. Since the beginning, Postgres has focused on being an enterprise-class, feature-rich open source database solution.
Postgres achieves extreme consistency and ACID-compliance through its use of MVCC (Multi-Versioning Concurrency Control) and WAL (Write-Ahead Logging).
Postgres is a database that can scale well, but, its configuration is sometimes considered heavyweight for certain situations. Postgres focuses on features that appeal to broad compatibility, availability, and reliability, but comes with a heavier install footprint than some of its RDBMS cousins like MariaDB and MySQL.
Perhaps the best-known of all open source RDBMS databases, MySQL forms the (M) in the ubiquitous LAMP stack. During the late 90s and early 2000’s, MySQL was being taught in most computer science and related colleges and institutions, and the database remains widespread today. DB-engines lists it as the second most popular database in the world.
MySQL is a well-rounded database, and while not as capable for enterprise concerns as something like Postgres or Oracle, it adapts well to most use cases requiring moderate scale.
Almost every platform that follows a Bring-Your-Own-Database directive is compatible with MySQL, and every applicable mainstream modern programming language has conventions for interacting with a MySQL database.
MySQL is now a commercially copyrighted entity owned by Oracle. While it does have a community edition, the
more popular community version is MariaDB. If you go with enterprise MySQL, be sure that the enterprise features are key to your business outcomes, and that the community version, or the free and open source MariaDB, isn’t a better choice.
When Monty Widenius sold MySQL to Oracle, he also forked the codebase into a free database project known as MariaDB. Since MariaDB remained freely redistributable and was essentially a drop-in replacement for MySQL, it became immediately popular overnight, and currently sits at #12 on the DB-Engines list of most popular databases.
MariaDB is still a drop-in replacement for the community edition of MySQL, and has grown, spinning out a new and improved storage engine called XtraDB which improves the performance of the database and adds additional features.
If you are deploying on Linux and hoping to automate those environments, note that MariaDB is installable through most Linux package managers, and can be freely copied into your enterprise’s local package repositories. This reduces a great deal of friction in the deployment process, along with limiting license obligations.
CockroachDB uses the replication and scalability features of Kubernetes to bring a container-native RDBMS functionality to the platform.
CockroachDB was built with Kubernetes in mind and isn’t suitable for deployments outside of that. It provides a distributed database based on Facebook’s RocksDB that uses Kubernetes-native functionality to provide support for SQL concepts such as transactions.
Businesses tend to either move database assets entirely into container substrates or treat them as backing services through APIs. For businesses who choose the former, CockroachDB may be a better choice than shoehorning the replication strategies envisioned for noncontainer deployments into Kubernetes. CockroachDB provides native SQL functionality through RocksDB, but, it also reuses parts of the Postgres syntax compiler and has been modified for compatibility with Postgres, giving it RDBMS capabilities beyond what is offered by RocksDB.
Choosing the right open source database ultimately comes down to matching your business needs, with the capabilities of that database. While this blog is a good place to start, it's by no means a replacement for the time and considerations needed to choose the right database(s) for you.
Get Guidance and Technical Support for Your Open Source DatabasesFrom databases to message-oriented middleware, OpenLogic offers SLA-backed, 24/7/365 support and services for your entire open source data stack.Talk to an expert today to learn more about how OpenLogic can help you achieve your goals.Talk to an Expert
From databases to message-oriented middleware, OpenLogic offers SLA-backed, 24/7/365 support and services for your entire open source data stack.
Talk to an expert today to learn more about how OpenLogic can help you achieve your goals.
Talk to an Expert