Table of contents of the article:
In the vast world of database management systems (DBMS), developers often find themselves faced with the choice between MySQL, Percona Server, and MariaDB. This seemingly trivial choice actually reveals a complex and multifaceted landscape. Many tend to consider these three systems equivalent, but in reality, they differ in a number of unique and specific features, with their respective pros and cons. In today's article, " MySQL, Percona Server, or MariaDB? ", we'll delve into the history of these popular DBMSs, exploring their origins, their relationships, and their unique characteristics. We'll analyze in detail the similarities and differences between MySQL, Percona Server, and MariaDB, providing a comprehensive overview that will guide developers in making the best choice for their needs in 2024. The goal is to provide a clear and in-depth understanding of these tools, enabling them to make an informed and strategically advantageous decision in the ever-evolving database landscape.
The history of MySQL and the acquisition of Sun which was in turn acquired by Oracle
MySQL, one of the most well-known and widely used database management systems (DBMS), boasts a rich and varied history that dates back to the early 90s. Originally developed by two key figures in the database industry, Michael Widenius, better known as "Monty," and David Axmark , MySQL quickly gained popularity thanks to its simplicity, efficiency, and open source model. The name MySQL comes from Monty's daughter, My, underscoring a personal and passionate approach to creating this software.
A significant turning point in the history of MySQL was the introduction of two core storage engines: MyISAM and InnoDB. MyISAM, the original storage engine, stood out for its speed and ease of use, but was limited by its lack of transaction support, a key feature for many modern applications. The integration of InnoDB marked a sea change, offering transaction support, greater data reliability, and greatly improving MySQL's versatility in more complex usage scenarios.
Over the years, MySQL has changed hands several times. In 2008, Sun Microsystems acquired MySQL AB, the company originally founded by Widenius and Axmark, bringing the DBMS under a larger umbrella. However, the real turning point came in 2010 when Oracle Corporation acquired Sun Microsystems.
Sun Microsystems' acquisition of MySQL in 2008 marked a pivotal moment in the history of database management systems. Sun Microsystems, a pioneer in information systems and software, decided to acquire MySQL AB, the Swedish company behind MySQL, for approximately $1 billion. This move marked a significant evolution for MySQL, which until then had been a cornerstone of the open-source and free software movement.
The reasons behind this acquisition were multiple. On the one hand, Sun was looking to strengthen its offering in the growing market for services and solutions based on open-source software. The inclusion of MySQL in its portfolio allowed Sun to offer a complete database solution, integrating seamlessly with its other technologies and services. On the other hand, the acquisition represented an opportunity for MySQL to accelerate its development, benefiting from Sun's resources and technological expertise.
However, this acquisition was not without its concerns. Within the open-source community, there were concerns that MySQL, under the leadership of a large company like Sun, could lose some of its independence and innovative spirit. These concerns were further amplified when, two years later, Oracle Corporation announced its acquisition of Sun Microsystems, bringing MySQL under the control of one of the largest competitors in the database market.
Despite these concerns, Sun's acquisition of MySQL represented a significant milestone on the path to consolidating open-source into the mainstream technology sector. It highlighted the growing importance of open-source databases in a market dominated by proprietary solutions, and marked the beginning of a new era for MySQL, with new challenges and opportunities.
The birth of MariaDB as a Fork of MySQL after the purchase of Oracle.
MariaDB represents one of the most intriguing stories in the world of database management systems (DBMS). Originally a fork of MySQL, MariaDB was created by Michael “Monty” Widenius, the original co-founder of MySQL, in response to concerns from the open source community regarding the acquisition of MySQL by Sun in 2008 and Oracle Corporation in 2010. The name “MariaDB” pays homage to Monty’s second daughter, Maria, continuing the family tradition begun with MySQL.
If we consider that MariaDB was born at the end of 2009, it seems logical as a causal link that the acquisition of MySQL by Oracle was actually the trigger for the fork.
MariaDB's primary goal was to remain true to the open source spirit and provide an alternative for MySQL users seeking a more independent solution. MariaDB was developed to be fully compatible with MySQL, allowing users to easily switch between the two. This compatibility has made MariaDB a popular choice for developers and businesses looking to avoid dependency on a product controlled by Oracle.
Over the years, MariaDB has introduced numerous innovations and improvements, distancing itself further and further from MySQL and losing much of its backward compatibility.
In fact, MariaDB has developed new features, performance improvements and support for different storage architectures, making it an increasingly powerful and versatile DBMS. MariaDB has also acquired an active and growing community, which contributes to the development and diffusion of the project.
MariaDB's success can be attributed not only to its technical heritage from MySQL, but also to its open and collaborative philosophy. This has allowed MariaDB to quickly adapt to the evolving needs of developers and businesses, while maintaining a strong commitment to open source principles. MariaDB's history is a clear example of how the developer community can respond and adapt to changes in the technological landscape, ensuring continuity and innovation in a constantly evolving industry.
The error of evaluation of Michael “Monty” Widenius
Michael “Monty” Widenius's misjudgment regarding Oracle's acquisition of MySQL plays a crucial role in the history of database management. MariaDB, as we've already mentioned, was born precisely as a reaction to the concerns raised by Oracle's acquisition of MySQL. It's crucial to emphasize that Monty, as MySQL's original creator, viewed this project not just as a job but as a mission, an almost paternal commitment, aimed at nurturing and raising his "son" with dedication and affection. The sale of MySQL to Sun Microsystems was a calculated step, undertaken with the belief and hope that greater financial investment from one of the world's most prestigious companies could bring significant improvements and new features to the project. Sun, which in 2018 posted a loss of $1,7 billion, saw the MySQL purchase as an opportunity to renew its appeal to investors and customers.
However, things did not evolve as expected and, within six months, in April 2009, Oracle announced the acquisition of Sun Microsystems, a company at the forefront of the server hardware sector and already owner of leading software such as Java and the recently acquired MySQL.
Monty perceived Oracle, the maker of the famous eponymous DBMS, as a significant threat . He likely feared that Oracle might marginalize MySQL, reducing its budget, slowing its development, and limiting its functionality and performance in favor of its flagship product, the Oracle DBMS. This concern reflected Monty's thinking as a developer, rather than an entrepreneur, failing to consider that an asset like MySQL, even in the presence of a dominant DBMS like Oracle, could represent added value for investors and attract new customers, rather than simply being a competitor.
Furthermore, from a developer's perspective, Monty overlooked a fundamental aspect: PostgreSQL. Already in 2009, with its version 8.4 and in the run-up to release 9, PostgreSQL was a much more complete DBMS than MySQL, both in terms of performance and functionality, and represented an enterprise-grade alternative to Oracle's hegemony. Being completely open source, PostgreSQL couldn't have been easily silenced by any attempt by Larry Ellison to acquire any open source competitors.
In reality, the following years proved to be a different story than expected. Oracle actually developed MySQL, introducing innovative features and improving performance, contrary to the initial concerns of the MySQL community and Monty himself . This development demonstrated that, despite initial concerns, MySQL managed to maintain its role and evolve in the DBMS landscape under Oracle's guidance.
However, the opportunity to create a fork of MySQL to guarantee a free, free and Open Source DBMS created the right conditions of competition capable of bringing value to the entire MySQL derivative ecosystem.
Maria AB's financial problems and the uncertainty of the project.
MariaDB, despite its status as a successful open-source project, has encountered financial difficulties in recent years, a common reality for many open-source initiatives. The last time MariaDB was discussed in financial terms was in February 2019, when the CEO of the company MariaDB Corporation expressed concerns about the few contributions to the project from large companies, despite the significant profits that the latter generated from the use of the software.
MariaDB Corporation, which supports software development, recently reduced its workforce by 28% and ended development on two of its products, SkySQL and XPand, as reported by linuxiac.com. These moves indicate the financial challenges the company is facing in shouldering the burden of maintaining the project.
However, in a curious contrast, the MariaDB Foundation, a non-profit entity separate from the corporation, received a diamond sponsorship from AWS in early October. This support could help ensure greater sustainability for maintaining MariaDB's code. Despite this, the financial crisis of MariaDB Corporation, which remains the main contributor to the code, could impact the part of the project that is going well.
In addition, Microsoft's decision to withdraw the Azure MariaDB product from its cloud, inviting users to migrate to Azure MySQL, signals further challenges, with reasons that may be more commercial than technical.
Predicting the future of MariaDB is complex given these circumstances, but the hope remains that the project can continue to thrive despite current challenges.
The history of Percona Server
Percona, founded in 2006 by Peter Zaitsev and Vadim Tkachenko, has established itself as a leading software and services company, specializing in particular in MySQL databases. The company has gained recognition in the database management systems field for its expertise in MySQL, offering innovative solutions and high-quality services that appeal to both small and large businesses.
In addition to its consulting and support services, Percona is particularly renowned for the forks it develops and maintains, contributing significantly to the MySQL ecosystem. Among them, Percona Server and XtraDB are the best known.
Percona Server is a fork of MySQL, while XtraDB is a fork of the InnoDB storage engine. Both of these forks were created with the intent of optimizing performance, scalability and security compared to the original versions. While they may not have a user base comparable to that of MySQL or MariaDB, their advanced features and the fixes they introduce have a significant impact, so much so that they are often integrated into subsequent MySQL updates or MariaDB forks.
In the context of open source and the GPL license, it's common to observe a dynamic of competitive collaboration, where innovations introduced by one competitor can be integrated into the products of others, and vice versa. However, it's important to note that, in practical terms, Percona Server does not directly incorporate code from MariaDB. Instead, Percona Server closely follows the development of MySQL Standard, adopting its innovations and improvements. This approach allows Percona Server to function as a direct "drop-in replacement" for MySQL, ensuring complete compatibility with the same version of MySQL. This way, users can migrate to Percona Server without having to make significant changes to their existing systems, thus benefiting from the optimizations and additional features offered by Percona.
One of the key aspects that make Percona Server a popular choice is its presence in the repositories of many GNU/Linux distributions. This makes its use more accessible and simple for users of these platforms, providing a valid alternative to standard MySQL. Additionally, the Linux community particularly values Percona for its commitment to open-source and its ability to offer database solutions that are both powerful and reliable.
Percona's position in the world of DBMS is strengthened by its ability to innovate and respond quickly to market needs. With a constant focus on optimization and efficiency, Percona continues to play an essential role in evolving and improving the database landscape, both for individual users and large organizations.
Percona Server, specifically Percona Server for MySQL , was born in 2006, far from the prospect of MySQL being sold to Sun, and is a fascinating story of innovation and adaptation in the field of database management systems (DBMS). The story of Percona Server began as a direct response to the need for enhanced performance and scalability compared to standard MySQL. Developed by Percona LLC, a company known for its expertise in MySQL and open source databases, Percona Server for MySQL quickly established itself as a robust and optimized solution for mission-critical production environments.
The philosophy behind Percona Server has always been to improve the performance and manageability of MySQL without sacrificing compatibility or ease of use . This has made Percona Server a popular choice for businesses and developers looking to optimize their database infrastructures without having to re-implement their existing applications. One of Percona Server's distinguishing features is its ability to handle intensive and complex workloads while offering greater efficiency and reliability.
Percona Server for MySQL introduced many innovative features, including improvements in memory management, query optimizations, and advanced performance diagnostic tools. These features have helped position it as a leading solution for high-performance database needs.
The history of Percona Server is emblematic of the MySQL community's commitment to providing high-performance and reliable solutions. Through continuous development and improvement, Percona Server has established itself as a leading choice for those requiring superior performance and scalability while maintaining compatibility with the MySQL ecosystem. Its evolution reflects the relentless pursuit of innovation and efficiency in the DBMS world, highlighting the importance of specialized solutions in a rapidly changing technological environment.
The Percona Distribution for MySQL is a comprehensive offering that goes beyond simply forking and replacing MySQL. It's a collection of open-source MySQL software enhanced with carefully selected and designed enterprise-level features. This package allows you to download all the components at once, making it easy to upgrade and apply changes to a single distribution.
There are two main ways to download the Percona Distribution for MySQL, depending on your high availability needs:
- Percona Server for MySQL: This is a direct replacement for MySQL Community, offering better performance, greater scalability, and advanced security features. It is ideal for those who need synchronous replication such as Group Replication.
- Percona XtraDB Cluster (PXC): A highly available clustering solution for MySQL. This component is recommended for those who need a multi-master architecture based on Galera.
The Percona Distribution for MySQL also includes:
- Contact XtraBackup: An open source backup solution that supports all versions of Percona Server for MySQL and MySQL. This tool performs full online, non-blocking, heavily compressed, highly secure backups on transactional systems, allowing applications to remain fully available during scheduled maintenance windows.
- Percona Toolkit for MySQL: A collection of advanced, open-source command-line tools designed to perform a variety of tasks that are too difficult or complex to perform manually.
- Percona MyRocks: An alternative to InnoDB for deployments where data storage resource limitations play a crucial role.
- ProxySQL, HA Proxy, MySQL Router, MySQL Shell, Orchestrator: These distribution add-ons include proxy, replication topology manager, and code editor and client for MySQL. They offer additional functionality to manage complex database architectures and ensure high availability and scalability.
Percona Server for MySQL as a replacement for MySQL Enterprise rather than MySQL Standard
Percona Server for MySQL, in its free version, positions itself as a viable alternative to MySQL Enterprise, filling the gaps of MySQL Standard. While MySQL Standard is widely used for its basic functionality and reliability, MySQL Enterprise, offered by Oracle, is a more advanced version that includes additional enterprise-oriented features, but comes at a significant licensing cost. This makes MySQL Enterprise an expensive choice for many organizations.
Percona Server for MySQL, in contrast, offers a number of enterprise-class features for free, which are absent in MySQL Standard and only available for a fee in MySQL Enterprise. These include:
- PAM Authentication Plugin: This plugin allows user authentication via Pluggable Authentication Modules (PAM), offering greater flexibility and security in authentication.
- Audit Logging Plugin: Provides the ability to log detailed activity, such as access requests and data changes, essential for regulatory compliance and security.
- Storing Keyring in Hashicorp Vault: This feature allows secure management of encryption keys using Hashicorp Vault, ensuring greater security of sensitive data.
- Threadpool: Optimizes performance by improving management of simultaneous connections and workload distribution, especially useful in high-concurrency environments.
In addition to these features, Percona Server for MySQL also stands out for its backup solution. Percona XtraBackup offers an effective alternative to MySQL Enterprise Backup. It's a hot and raw backup solution that allows you to perform full backups without interrupting database operation, making it a more efficient and cost-effective option than the solution offered by MySQL Enterprise.
Percona Server for MySQL emerges as an excellent choice for organizations seeking enterprise functionality without the high costs associated with MySQL Enterprise. Providing advanced security, management and backup tools, Percona Server establishes itself as a robust and cost-effective solution for advanced business needs.
Performance and benchmark between MySQL 8, Percona Server 8 and MariaDB.
When evaluating performance among the most recent versions of database management systems, particularly version 8, an interesting picture emerges. Without delving into complex technical analyses, which are often found in industry blogs with sometimes misunderstood graphs and benchmarks, we can observe some significant trends. In version 8, both MySQL and Percona Server (which maintains the same version numbering as MySQL) began to show a performance gap compared to MariaDB.
One of the key decisions in this context was to disable MySQL's native query cache , due to management issues in multithreaded and multiprocessor environments. This choice made way for the use of third-party query optimization tools, such as ProxySQL.
In terms of Transactions Per Minute (TPM), MySQL 8 and, in particular, Percona Server 8 have been shown to offer significantly higher performance, with speeds up to three times faster than those offered by MariaDB. This is particularly significant as it highlights a substantial improvement in the performance of MySQL and Percona Server.
From this perspective, based on current facts relating to MySQL version 8, it appears that MariaDB may no longer be the preferred choice in terms of DBMS, unless there are specific needs for compatibility or upgrading from an older version of MariaDB to a more recent one.
Considering the advanced features introduced in Percona Server and its excellent speed, which not only rivals but often exceeds that of MySQL 8, it can be argued that Percona Server 8 is the leader among the three contenders, at least when compared to MariaDB and the Standard Edition of MySQL . This evaluation underscores the importance of carefully analyzing technical specifications and performance when selecting a DBMS, taking into account the continuous evolution of these tools in the current technological environment.





