MariaDB vs. MySQL: A Performance Comparison
Nerval's Lobster writes "MariaDB is a fork of the MySQL source code, split off in the wake of concerns over what Oracle would do with MySQL licensing. In addition to its role as a 'drop-in replacement' for MySQL, MariaDB also includes some new features that (some claim) make it better than MySQL. Jeff Cogswell compares MySQL and MariaDB and suggests (in his opinion) that there's 'more than enough reason to ditch MySQL and switch over to MariaDB and stay there.' Why? While he breaks down MariaDB's new features and thinks many of them aren't that fantastic, and while MariaDB's performance isn't that much better than that of MySQL ('MariaDB's performance appears a bit better on multi-core machines, but I strongly suspect that one could tweak MySQL to match'), the questions over Oracle and MySQL licensing give him pause. 'MariaDB shows every indication that it will be around for quite awhile, while you can't really say the same of Oracle's MySQL,' he writes. 'Free-and-open MySQL competes with Oracle's proprietary and extremely competitive tools. That alone is grounds for concern — will Oracle do something to impede MySQL's development?'"
The only link goes to another Slashdot page! Well done!
Today the list of incompatabilities is small and unimportant. I wonder if one will make a really useful difference that would encourage developers choose one or the other; then users would really need to choose. At the moment which you use doesn't really matter.
My my... how times have changed. See back in my day, the vendor walked uphill, both ways, to tell us about the Fear, Uncertainty, and Doubt of the security using some filthy open source project strung together by a rag tag team of hippies.
is percona not cool anymore?
THL phish sticks
Free Oracle (MySQL) may be a competitor to the "not for free" Oracle but I think it still provides value to the company. MySQL has name recognition and reputation, MariaDB is still working on building these. So long as MySQL is around MariaDB will have a harder time doing so and for that reason alone Oracle may well keep MySQL going.
Two of my imaginary friends reproduced once
They did. In short they stopped providing test cases for new features. Do not use MySQL. Period. Read more about in here.
Switch to Postgres. It'll be there for a long time.
Free-and-open MySQL competes with Oracle's proprietary and extremely competitive tools.
In what sense? Sure MySQL is free, but - and IANADBA - I would think the appropriate usage areas for MySQL and Oracle DBs overlap marginally, if at all. For example, my MythTV system uses MySQL on the back end, but I think using Oracle would be like killing a mosquito with a sledgehammer (no disrespect to sledgehammers). Conversely, Oracle is probably more appropriate for a large distributed / fail-over capable payroll/accounting systems.
MySQL is simple and small, while Oracle more complex and large - it might actually come with a kitchen sink.
It must have been something you assimilated. . . .
Migrating to MariaDB "just because" is dumb.
If Oracle makes it clear that they're not going to support MySQL in a way that's compatible with your business, then consider your alternatives.
Changing your DB infrastructure will take time & release cycles to properly plan, test, and deploy. If it's a drop-in replacement as they claim, then you will not have much trouble making a quick migration down the line. If it's NOT a drop-in replacement as they claim, you should consider other DB technologies and select the one that matches your needs best, and then migrate to that. Doing EITHER of these things just because "Oracle may someday decide to do something awful to MySQL" is a waste of time. Consider alternatives now, if you're really concerned, but making a decision to migrate based on some FUD about Oracle from the MariaDB people is the mark of an idiot.
the heck with that, oracle fucked up mysql the moment they bought sun...
(while some might argue that mysql was first fucked up by sun when they bought mysql..)
My son used to play a silly little match game that he picked up from pre-school when he was three years old. In it, he would take two toys -- cars, action figures, Lego blocks, staple removers, whatever -- hold them in his hands, and ask "Which one are you, X or Y?" After the other person (usually me) answered, he'd act out some sort of epic battle between the two toys in his hands, and then declare one or the other the victor. I always pointed out to him the pointlessness of the game. He didn't care.
Jeff Cogswell's reviews remind me of that game. They're pointless. He doesn't care. And my son grew out of it.
In Soviet Russia, Jesus asks: "What Would You Do?"
Where's all the posts proclaiming the infallibility and universal superiority of PorsgreSQL?
Oh, you're right. There you go then.
(Seriously, is there a stipulation in the licences that obligates you guys to reply to threads about mysql?)
Actually, no. It's in the design, the features, and the source code.
Oracle databases are maybe fast, and maybe allow more redundancy but that comes with extra work.
MySQL and most of the other commercial databases have richer data types allowing for more a more modern feel.
Sort of like IBM assembler vs. Java. IBM assembler allows screaming fast apps, but at a cost, when that cost approaches the complexity of a modern language, the playing field levels, and suddenly you are better off writing in Java, since you can maintain the code.
In the latest news around the mysql ecosystem, one thing that was mostly ignored was that TokuDB went open source, adding an important new storage engine to the table. And comparing TokuDB vs InnoDB performance it could matter a lot more (at least, for more kinds of workloads) than switching from MySQL to MariaDB or Percona Server.
Anecdotally, we switched to Maria from MySQL during a move to a cloud architecture, and haven't had any major problems with it.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
MySQL and most of the other commercial databases have richer data types allowing for more a more modern feel.
I'm not sure what datatypes you're referring to. Enum and Set are kind of neat, but other than that both MySQL and Oracle seem to stick to the datatypes defined in the SQL standards.
Sort of like IBM assembler vs. Java. IBM assembler allows screaming fast apps, but at a cost, when that cost approaches the complexity of a modern language, the playing field levels, and suddenly you are better off writing in Java, since you can maintain the code.
Funny you should mention Java - were you aware that Oracle databases provide Java integration? It's kind of like MS SQL Server's dotNet integration. So you can do stuff like add your own Java libraries, or store Java objects directly in the database. I've never used it, but I suppose that would qualify as a "rich data type", right?
A recursive sig
Can impart wisdom and truth
Call proc signature()
I have done some tests some months ago, and I checked that MariaDB solves some problems that MySQL has. The performance is similar using simple queries, but when you write complex queries with subqueries, lots of joins and more, then MariaDB demonstrates the power of their code. I posted an entry in my wiki of the SaltOS project explaining how MariaDB helped to my project:
- http://www.saltos.net/portal/en/wiki/75/why-use-mariadb-instead-of-mysql.htm
Josep Sanz.
The SaltOS project.
Had to write a few java classes that executed as part of some trigger and stored proc transactions. I'm actually quite impressed at how well its been working. Uptime is pretty frikken awesome when I look at it somewhere in the order of 2 years.
And there's the case to be made that ENUM is a bad data type that should never have been created.
agreed it should be either a boolean or another table
There's been reason to switch from MySQL for 13 years: Postgres.
posting to undo bad moderation
The Quirkz Handbook of Self-Improvement for People Who Are Already Pretty Okay
I'm curious what's meant by drop in replacement, is it as simple as installing the other package, and just pointing it to your database folders, files, configs, SQL query, programs, whatever else is required (forgive me i have limited knowledge here) and launch it with your same scripts with simple swap_the_filename type mods...
or
Is there lots of scripting, reconfiguring, importing and testing that needs to be done to make it work the "same"?
What is meant by drop in replacement if someone was going to make the switch now?
Cheers / Thanks!
You sold MySQL to uncle Larry for a lot of cash years ago and now we keep hearing about MariaDB vs MySQL.
After four years of MariaDB and four years of unsubstantiated FUD about Oracles intentions twoard MySQL you choose to make your case using a photo finish performance graph with no error bars.
Yes it's as simple as that, you can just open your current database files and configuration files with mariadb instead of mysqld and everything should work, even the old libmysqlclient from MySQL will work to access a MariaDB server.
That post is not very useful or informative. While I would like to believe that MariaDB has done clever things with query planning and execution, it would need a much more rigorous investigation than posed here. For example, he doesn't even explain the form of his queries and the nature of his schema.
It would also require benchmarking against, say, PostgreSQL, which looks very attractive versus versions of MySQL, for both technical and licensing reasons.
you had me at #!
Seems like it would be a good thing to be running MariaDB as one of your backups, or test machines just (to show your Oracle support rep:) in case, so if one or the other starts to shine you've seen it working with (replicas of) your data, and know it's compatibility status.
If it's that easy now, and you had anything close to an important (or large) database someone should be booting both from time to time in testing. It could go either way...
Why do we constantly hear about how MariaDB is so great. It is not the only fork of MySQL. Why don't we see more comparisons of Percona and Drizzle, both of which are doing great things above and beyond what Oracle is doing with MySQL.
Every time I see this MariaDB boosterism, it goes down a notch in my estimation. I'm not interested in the numbers because I know how easy it is to rig benchmarks to make your product look good against the competition. The real world of databases is far more complex than simple benchmark tests would have you believe.
Oracle isn't trying to suck in MySQL users, it really doesn't give a fuck.
The user's of MySQL have already shown they aren't interested in an enterprise database, otherwise they would have switched to Postgres a long time ago.
It's classic "double-spending" - sure, I'll sell you my GPL-licensed DB! For millions of dollars? Absolutely! Sold!
I quit! Now let me fork the thing I just sold to you and keep developing it for free-as-in-beer and free-as-in-freedom.
Sigh. Silly multi-billion dollar multi-national corporation! I'll be really impressed when Monty Widenius sells MariaDB to Oracle. And then quits.
The problem is you need to handle two approaches in your parallel programming: (1) Multithreaded across multiple cores, and (2) vectorization. These are the two facets to today’s multicore programming, and your code needs to handle both aspects correctly.
WTF would you need vectorization in a DB for?
I'd stake my dog's life that scalability differenes are not down to compiler switches and SIMD instruction selection. Amdahl's law is more likely to be applicable, and as DBs have many serialization points (disk IO, lock management) it is these that are more likely to affect scalability rather than compiler flags. Xeon Phi? Come on!
to PostgreSQL.
(Anti-spam nonsense.)
Are you refering to my comment about that it's true that MariaDB is more quickly that MySQL??? if true, continue reading, please:
For my tests, I used the same computer and the same DB files. The procedure was install and uninstall MariaDB and MySQL to have a comparable system. You can check the complexity of the queries and the database schema if you download the source code of my application (search directly the XML files that contain all db schema and queries used by the application). If you want more information about the queries, I can send you a database and a report with the queries, the benchmarks of the MariaDB and the benchmarks of the MySQL. I collected this information when I contacted with Monty to explain my results of the test and congratulate by their improvements.
Josep.
For performance results just get a look here: http://dimitrik.free.fr/blog/archives/2013/02/mysql-performance-mysql-56-vs-mysql-55-vs-mariadb-55.html
And to understand what was wrong in the test results provided by MariaDB look here: http://dimitrik.free.fr/blog/archives/2013/02/mysql-performance-analyzing-benchmarks-part1-mysql-56-and-mariadb-55.html
What else?..