Open Source Databases: Pros and Cons of 3 Popular DBs
Take a look at this comparison of the advantages and disadvantages of some of the most popular databases.
Join the DZone community and get the full member experience.Join For Free
In the modern world of business, databases are a major pillar in the infrastructure of companies and how they run their operations. Every website you browse and every mobile application you download has to have a database running on the back-end in order to support the functionality you see on your computer or phone.
A large portion of enterprises rely on relational database management systems (RDBMS), although newer object-oriented models have gained popularity and usage in recent years. Even though Oracle remains one of the leading vendors of database services, more and more organizations are looking to open source solutions to meet their needs.
This article will run through an overview of open source databases and then dive into the advantages and disadvantages of three products in particular.
What is Open Source?
Open source software is designed around the concept of communities. The source code repositories for databases, APIs, and web hosting engines are made open to the public, where anyone is allowed to view or contribute. Typically there are leaders in the community who guide and monitor the development of new features and patching of bugs.
For enterprises looking to build a strong technical foundation, open source tools often represent a smart choice, firstly because of cost. The majority of open source software is available with a free license to download because there is no corporation in charge of managing the usage of it.
Thanks to the number of contributors in open source projects, the software being developed is typically very stable and well-tested. Companies of all sizes realize that building in-house proprietary solutions is costly and inefficient, especially when open source options exist to solve the same types of problems.
When it comes to databases, open source solutions merely offer a starting point. Companies will have to build in their own schemas and customizations in order to meet their business needs. But when comparing the most popular open source databases, there are a number of factors to keep in mind.
PostgreSQL has been developed over a number of years and remains a highly-reliable open source database platform. It offers both relational structures and object-oriented structures within the same database system, which means it can be integrated with whatever type of codebase you are running on your website or mobile app. PostgreSQL is also cross-compatible with MySQL, which means it can be integrated with a WordPress site.
The latest releases of PostgreSQL include support for complex stored procedures, which let you actually write scripts and code within a database table. These procedures can be set to run from a variety of triggers while maintaining the stability of your application at the same time.
On the downside, PostgreSQL requires a lot of processing power to run and may deliver poorer performance than other open source solutions. This is especially true if you are running a web-based application that requires an API framework. A high number of read actions on a PostgreSQL database will slow down the performance of your front-end tools.
Also, although PostgreSQL has a dedicated community of users and developers, it is smaller than others and offers limited options for support. This means you may face a challenge in finding hosting providers that include PostgreSQL as an out-of-the-box solution.
When Oracle announced that it was acquiring the MySQL suite of database tools and closing off that open source community, many businesses went looking for an alternative. MariaDB emerged as one of the top solutions, especially for organizations that needed to migrate content from a MySQL instance for applications like WordPress.
When run from a cloud environment, MariaDB offers a high level of performance and the kind of speed required for web-based applications. As part of the LAMP stack including Linux, MySQL, and PHP, MariaDB has become the go-to DB for web servers running Nginx or Apache. In addition, the platform has gained popularity due to the transparency in its security patches and new feature releases.
At its core, MariaDB is a relational database tool, which limits the flexibility in what it can support. However, the MariaDB community is planning to release new features that will allow for dynamic column management, essentially letting the platform function as a relational system and a key-value database at the same time.
Like with PostgreSQL, you may struggle to find cloud hosts that offer MariaDB as a supported database option. In addition, if you decide to go ahead with a migration from MySQL to MariaDB, you'll likely find that there is no easy method for reversing that action if circumstances arise.
Percona, a newcomer to the open source database scene, has positioned itself as a best-in-class solution for enterprises of all sizes looking to streamline their backend systems. Rather than building their own database framework, Percona instead supports a number of popular platforms while maintaining a connection to the open source community.
Percona offers a flexible solution for database management. Users can choose to run the platform on a cloud environment or host the databases themselves if they are concerned with privacy and security. You can also choose between a traditional relational database management system, like MySQL, or a more modern key-value database that offers dynamic structuring, like MongoDB.
As part of their platform, Percona will actually provide person-to-person consulting with your technical team to evaluate what open source options you have and help you determine the best fit. They can also set up training classes to get you more comfortable with newer solutions.
Percona prides itself on being an unbiased answer for enterprises that need a comprehensive database solution for their online operations. By integrating open source tools through Percona, you can avoid getting locked into vendor contracts and paying unnecessary fees.
Companies that partner with Percona receive around-the-clock support from technical experts who can assist with issues or questions that arise within database platforms. Percona will also teach you the best practices when it comes to tuning your database and keeping backups in case of an emergency.
The Bottom Line
While there are plenty of open source databases to choose from, it would be hard to go wrong with any of these we’ve just covered. Obviously, your particular situation should determine the final choice. The bottom line is not to be afraid of a product because it’s free. In the software industry, free can still be quite good.
Published at DZone with permission of Laura Harvsey. See the original article here.
Opinions expressed by DZone contributors are their own.