MySQL a 'pretty poor database' says departing Oracle engineer
PostgreSQL a better option for open source RDBMS, he claims
Updated You've collected your leaving card, novelty presents, and perhaps a bottle of wine – what's next on the list for the departing developer? For one, it's a blog rubbishing the technology he's been working on for five years.
That was the choice of Steinar Gunderson, a former principal software engineer at Oracle and member of the MySQL optimiser team.
In an online missive, the engineer, who has now taken up a role in Google's Chrome team, left no reader in doubt of his views on MySQL.
With the caveat that his reasons for leaving were complex, he went on to say: "MySQL is a pretty poor database, and you should strongly consider using Postgres instead.
"Coming to MySQL was like stepping into a parallel universe, where there were lots of people genuinely believing that MySQL was a state-of-the-art product."
Nonetheless, the state of the code meant that there was "plenty of room for opportunity for improvement" and "management was strongly supportive of large refactors."
While proud of his work on MySQL, which contributed to 8.0 becoming a "much better product" than 5.7, "there is only so much you can do," Gunderson said.
"The changes others and I have been doing take the MySQL optimizer towards a fairly standard early-2000s design with some nice tweaks, but that's also where it ends.
"In the end, there's just not enough resources that I could see it turn into a competitive product, no matter how internal company communications tried to spin that Oracle is filled with geniuses and WE ARE WINNING IN THE CLOUD."
For the sake of balance, Oracle has not been standing still with MySQL. In December last year, it upgraded the online analytical processing capabilities in the Oracle cloud, for example. The in-memory analytics engine is designed to improve the open-source database's performance, developed by the same team that works on Oracle's eponymous database.
- Sun sets: Oracle to close Scotland's Linlithgow datacentre
- US Defense Department invites four cloud firms to seek contracts for JEDI replacement system
- System at the heart of scaled-back £30m Sheffield University project runs on end-of-life Oracle database
- Oracle flicks the switch on new Singapore cloud region
MySQL was originally developed by David Axmark and Michael Widenius, with the first release dating back to 1995. The founding Swedish company, MySQL AB, was bought by Sun Microsystems in 2008, while Sun was itself subsumed by Oracle in 2009.
Immediately after that takeover, Michael – or "Monty" – Widenius forked MySQL to launch MariaDB, hiring a group of the MySQL development team at the same time. MariaDB has since been publishing its MySQL iteration, particularly as a managed service DBaaS.
But Gunderson was also scathing of this. "Don't believe for a second that MariaDB is any better [than MySQL]. Monty and his merry men left because they were unhappy about the new governance, not because they suddenly woke up one day and realised what a royal mess they had created in the code."
Gunderson did not elaborate on why PostgreSQL would be so much better than MySQL as an open-source relational database, but he is not alone in concluding that it's a better choice than the databases Oracle offers.
Roland Hörmann, CEO SIB Visions, who presented at EDB's Postgres Build 2021 last week, spoke specifically about migrating from Oracle's proprietary database to PostgreSQL.
Hörmann – who it must be said produces tools to help with Oracle-Postgres migration – told The Register: "If a customer asks which database they should choose for a project I always say Postgres even after 20 years implementing Oracle. There is no reason not to choose Postgres: it's open source, it will be implemented, and it will be better.
"You can get support if need it. If you set up a database, you configure once the PostgreSQL conf file and then it's up and running forever, to be honest. You don't need to do anything. True, you need to set up a backup and all that stuff, but you don't need so much time from experienced DBAs anymore."
Oracle declined the opportunity to comment. ®
Updated at 09:25 UTC on 7 December 2021 to add:
Max Mether, co-founder and VP of Product Management at MariaDB Corporation, responded to the broadside: "No database is perfect. The proliferation of different models, storage engines, protocols, and dialects testify to that.
"I've worked in the database field for a very long time, and I've seen many come and go. That is the natural order of things. Sometimes it is a tug and war regarding simplicity vs richness, sometimes it is being too far ahead, or stuck in the past."
He went on to opine: "However you want to look at it, MySQL at Oracle has been rudderless, forsaken internally and assaulted by the hyperscalers, and this engineer's blog only re-enforces my view of what has happened to MySQL."
Mether added: "In 2016, at MariaDB, we completely abandoned MySQL code, and brought in new storage engines, dialects, monitors, even ML-based workload analysis."