MySQL's Creator On Why the Future Belongs To MariaDB 208
angry tapir writes "When Oracle purchased Sun, many in the open source community were bleak about the future of MySQL. According to MySQL co-creator Michael "Monty" Widenius, these fears have been proven by Oracle's attitude to MySQL and its community. In the wake of the Sun takeover, Monty forked MySQL to create MariaDB, which has picked up momentum (being included by default in Fedora, Open SUSE and, most recently, Slackware). I recently interviewed Monty about what he learned from the MySQL experience and the current state of MariaDB."
Don't forget Arch Linux (Score:5, Informative)
Re: (Score:3)
stirring the pot (Score:5, Insightful)
Personally I think the future belongs to Postgres. :)
Re: (Score:2)
Word. I prefer Postgres. But then again I have not done a comparison in a very long time. I know that MySQL (and by extension MariaDB) has been ACID compliant for several years if you pick the right backend, but does anyone know if either supports Views and stored procedures?
Re:stirring the pot (Score:5, Informative)
Re: (Score:2)
Cool, thanks. it's been a while since I did a complicated DB project; perhaps it's time to fire up a VM and try 'em out. How about triggers?
Re: (Score:2)
Yup. Triggers since 5.0.2:
https://dev.mysql.com/doc/refman/5.0/en/triggers.html [mysql.com]
Re: (Score:2)
Re: (Score:3)
postgresql+1
just because something is popular doesnt make it the right choice
AFAIK mysql/maria still relies on innodb for transactions ! plus all the myriad of mysql type mishandling of null values.
its a horror show of popularity.
use a proper database and stop having to work around dysfunctional programming
Re:stirring the pot (Score:4, Informative)
Re: (Score:2)
1- Popularity among technical people "might sometimes" mean more people have found the specific product suits them.
2- MySQL is available on almost every shared and dedicated hosting service. PostgreSQL is rarely available on shared services. I have developed a small web based ERP but I was forced to go with MySQL since most of my potential customers would want to run it on shared services.
3- dysfunctional programming?!
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
If we have to select the needlessly duplicative one to ditch, then lets ditch mysql. It is the weaker product.
Re: (Score:2)
I am very familiar with both. Postgres is a great database, MySQL is a damn shame. It simply should not be popular, and proves that marketing and PR are more important than a good product.
Re: (Score:2, Insightful)
Performance is secondary to your data being there. Also I want to see some evidence of that, I have trouble believing it in 2013.
I actually admin a fairly large set of Postgres DBs, just so you know smartass.
Re:Me, too! (Score:5, Interesting)
Having worked with many different SQL Databases. MySQL, Microsoft SQL, DB2, Informix.... I have found that PostgreSQL is actually a really damn good Database system. Its fast powerful and very configurable. Sure the other guys will have some advantages over PostgreSQL, but I found PostgreSQL has the advantages where I find it counts for my use, for heavy processing, not just storing and retrieving data.
Re: (Score:3, Interesting)
Can I point existing code at Postgres rather than MySQL and have it work?
If not, that's kind of a problem.
Re: (Score:2)
Re:Me, too! (Score:5, Informative)
It's a MySQL problem. Postgres is SQL standards compliant, MySQL isn't.
Re: (Score:3)
It's a postgres problem - because I'd love to drink the koolaid and use postgres rather than mysql, but you'll note projects that implement specifically against MySQL rather outnumber those that either use postgres specifically or allow you the flexibility to choose.
I'm not a programmer - I just don't have the skillset. So the chances of my botching it up should I have to manually "port" the various web applications and the like are too high for my liking.
Re:Me, too! (Score:5, Insightful)
It's the fault of the users of MySQL for sticking with a non-compliant SQL implementation even when other compliant ones emerged. It's MySQL's fault for not becoming compliant in a manner that encouraged people to take them up on the standards. It's not PostgreSQL's fault that people built to a non-standard.
And don't even bother making the claim that PostgreSQL should have adopted MySQL's quirks. They had bigger fish to match/fry: SQL Server, Oracle, etc etc. They've actively been working to fix their problems in a standard manner, rather than breaking themselves to match one broken database that very few people actually use outside of simple websites, where it's relatively easy to port to a standard one.
Re: (Score:2, Informative)
It's more of a database problem in general. The ANSI SQL Standard isn't broad enough. If the situation was reversed, if you had a project written specifically for PostgreSQL, you wouldn't be able to drop in MySQL, either. Or if the project was written for Oracle, you wouldn't be able to drop in MS SQL Server. As some people have mentioned already, MySQL isn't 100% ANSI SQL compliant. But even if it was, you still couldn't drop it in place more than likely, unless it was a very simple application and di
Re: (Score:2)
Great. But instead of picking apart my improper use of an idiom, how about you stay on topic?
Re:Me, too! (Score:5, Interesting)
What happened was this: Mysql and Postgres got to the point of a usable release at about the same time. Mysql was very slightly easier for someone with a very limited skill set to set up, and was arguably slightly faster, so it quickly became the preference among the crowd that swarmed into "tech" thinking that throwing together some HTML pages was serious programming. This same crowd was also very attracted to PHP because it seemed really simple by comparison to Perl or C for making web pages a bit dynamic. By 2000 or so, it was entrenched as the "LAMP stack", and shared hosting providers were offering Mysql and PHP support as standard (well, sort of standard, with different PHP options available, different versions, etc).
After the .com implosion in 2001, you had all sorts of people billing themselves as programmers, but only being familiar with PHP and Mysql. Many of them are now working as independent website contractors and the like, and this same crowd is also responsible for writing most of the CMS's out there, which in turn means that they use the Mysql/PHP platform that they know, rather than learn Postgres or Python or Ruby or Java. And that means that Postgres support for CMS's is more often than not an afterthought.
Re:Me, too! (Score:5, Informative)
Depends on what the code is. For example, if you've been using PDO in PHP, then probably no problem, since there is an abstraction layer between your code and the actual SQL calls.
Re: (Score:3)
The real problem though is that it isn't MY code, it's some project's code. I have no code, I'm not a coder. I could try to port it, but the chances of be breaking things is significant.
Re: (Score:3)
Re: (Score:2)
For me PostGreSQL, and MySql too, have the disadvantage that you can't have project specific databases. I want the database to be in a file (or directory) under the project, so it's easy to distribute. So that means Firebird, SQLite, H2, HSQLDB, a few others, but *neither* PostGreSQL nor MySQL. Relocating ALL the databases isn't an option, I need it to be project specific.
What's annoying is that I can't figure out *why* they choose to make this either difficult or impossible. (To be honest, I don't know
Re: (Score:3)
You say "needlessly duplicative" like it's a bad thing.
Re:Because it is. (Score:5, Insightful)
It gives you two slightly different wheels to choose from, that's a good thing. Apparently some people feel like working on different wheels.
And if monocultures aren't a problem than what's with all this Windows malware?
Re: (Score:2)
Re: (Score:3)
Well then call it not putting all your eggs in one basket if you like.
Re:Because it is. (Score:5, Insightful)
Okay, then MySQL should go away since PostgreSQL was here first and did it right from the start.
If you look at the development of MySQL over the years its been a long waiting game of features that should be prevalent in any proper DBMS system but the lead developers openly admit they were not database guys when they started out so it's not really any wonder that the product was lacking from the very beginning and still shows its weakness today.
So the benefit is that you have a good product that you can rely on and it happens to be free. For MySQL you have a mediocre product with broad deployment because it relied so heavily on programmers to do in the application what normal databases handle for the programmer. This usually makes programmers happy as they think they know data management. So with MySQL a programmer must also know how best to handle data management, with PostgreSQL you have proper data management built right in. The database server does work rather than just being a storage repository with the MySQL approach.
Re:Me, too! (Score:5, Funny)
Because everyone in the open source community has this insufferable "Me, too!" attitude, resulting in half a dozen needlessly duplicative efforts.
That's right. Open source developers should take a cue from the commercial database market: The vendors like IBM, Microsoft and Oracle don't waste resources on duplicate efforts, but instead they collaborate on the one single commercial SQL database engine available on the market today.
Re: (Score:3, Funny)
PostgreSQL date handler error?
Re: (Score:2)
mySQL was initially DOS, then Windows, then Windows 95/98. Then someone showed them a copy of the ANSI SQL spec. They incorporated it into the 'compliant' version of mySQL aka Windows ME.
After all that work mySQL is almost as good as Dbase3+.
In other words (Score:2, Interesting)
Oracle is now behaving like Monty's old company MySQL AB, trying to force volume users to pay to play. Remember MySQL AB's rigid enforcement of the GPL, with a dual licensing option? I wonder if MariaDB is subject to the same type of licensing games.
Re:In other words (Score:5, Informative)
So good he wants to sell it twice. (Score:2)
Nice dream.
Monty said that? Oh, of course he did... (Score:5, Informative)
The part he left unsaid was "MariaDB is the future because that's where I will make my money".
Remember, this is the guy that tried to get a merger court to give him the rights to MySQL back again after he sold them to Sun for a nice sum of money.
Re: (Score:2)
Citation?
Re:Monty said that? Oh, of course he did... (Score:5, Informative)
http://monty-says.blogspot.co.uk/2009/12/help-saving-mysql.html [blogspot.co.uk]
http://monty-says.blogspot.co.uk/2009/12/help-keep-internet-free.html [blogspot.co.uk]
http://monty-says.blogspot.co.uk/2009/10/importance-of-license-model-of-mysql-or.html [blogspot.co.uk]
Re: (Score:2)
It's his blog. About the best source you can ask for.
Re:Monty said that? Oh, of course he did... (Score:5, Informative)
I believe he is referring to the efforts to divest the MySQL trademark and copyright from Oracle as a condition of the acquisition of Sun by Oracle by EU courts. Not very nefarious as it was under the assumption that Oracle would destroy MySQLs viability in the future.
The more interesting part [pcworld.com] of that whole issue was when you look at how the US pressured the EU court to approve the merger unconditionally.
Re:Monty said that? Oh, of course he did... (Score:4, Interesting)
The part he left unsaid was "MariaDB is the future because that's where I will make my money".
Except that he put a lot of effort and money into organizing a team of developers for the last four years. Just compare what's going on in Oracle's land vs this fork.
It's another case of OpenOffice vs LibreOffice.
What's Oracle doing so badly? (Score:5, Interesting)
Re:What's Oracle doing so badly? (Score:5, Interesting)
Yeah, I wouldn't use MySQL regardless for anything serious, but I've still played around with it and used it for prototype projects, and frankly the .NET connector and GUI management tools have made far more progress under Oracle than they were making beforehand.
That's not to defend Oracle either of course, but I think it's unfair to say Oracle has let MySQL stagnate, they haven't, and that's not a reason to ditch MySQL. The fact Oracle are scum and that MySQL is still crap regardless are better reasons to ditch MySQL, but certainly not lack of progress.
Re: (Score:3)
Re: (Score:2)
When I lost faith in it professionally was when I used to use it (was with InnoDB btw) was when a database we'd had running for about 9 months randomly corrupted itself forcing the service to crash and stop.
I could fix the corrupt files with the command line tools, but it then repeated a few days later.
The best I could track it down to was a DELETE FROM query it didn't like for some reason (there was nothing particularly special about it) that would arbitrarily cause the corruption.
I just couldn't justify i
Re: (Score:2)
For quite some time Oracle couldn't even make a working Windows installer (when it tried to set up the root password and similar stuff you had to kill the installer and complete the last steps manually).
If a company can't even get a fucking installer to work I certainly don't want to find out which parts of the database engine they managed to break.
Re:What's Oracle doing so badly? (Score:5, Informative)
Oracle don't want you to install it. They want you to employ an expensive consultant who knows how to install it.
Re:What's Oracle doing so badly? (Score:5, Informative)
Re: (Score:2, Interesting)
Oracle didn't release patches to fix undisclosed security problems and forced Debian to release a new version of MySQL. Oracle don't work well with distribution package maintainers. Do they expect distributions to release a new vanilla MySQL package every time Oracle says they have fixed some undisclosed problems?
Due to the non-disclosure of security patch information from Oracle, we are forced to ship an upstream version update of MySQL 5.1. There are several known incompatible changes, which are listed in...
http://www.debian.org/security/2012/dsa-2429
What they did was not account for Monty (Score:2, Interesting)
The only thing Oracle is doing wrong is thinking that no one could be bold enough to try and sell the same product twice.
It's a gutsy move. It really is. Sell MySQL to Sun. Claim Sun's purchaser is doing __________ (fill in the blank with whatever evil nasty thing you like) with it. But that's ok, MariaDB will save you from that. Distributions flood to it to get away from the nasty big evil corporation, and suddenly Monty has legally taken back control of what he sold for a cool billion dollars.
The bes
Re: (Score:2)
"Why is the price for a MySQL OEM license higher than for Oracle Express?" Widenius asks.
It's hard to be cheaper than free of charge [oracle.com]. And Monty's old company was all about selling licenses. I distinctly remember them trying to scare people into thinking that the GPL meant that no program could so much as connect to MySQL without having to become GPL itself. (This was back when the client libraries were LGPL.) Which of course could be avoided if you bought a commercial license fr
Audio, anyone? (Score:2)
Why isn't there an audio of this interview? This should be routine now. While I appreciate efforts to provide this dialogue, I hope the author(s) don't expect that folks will always want to read through all the verbiage.
I would have been able to listen to the interview while on my way to work. But thanks anyway and sorry, I had to get this off my chest.
Re: (Score:2)
Why isn't there an audio of this interview? This should be routine now. While I appreciate efforts to provide this dialogue, I hope the author(s) don't expect that folks will always want to read through all the verbiage.
I would have been able to listen to the interview while on my way to work. But thanks anyway and sorry, I had to get this off my chest.
You know, with MariaDB, confessions are still confidential. When this one is sold to Microsoft or Apple, JesusDB will support speech input and output and it can communicate with AngelDB and stuff. Only when goDB will be around, it will answer questions like this itself on slashdot.
Re: (Score:2)
because the demand for unedited audio is low enough that it's not usually worth the effort of authors to provide it - and if you include doing voiceovers for the author's own commentary, which generally happens after the interview is complete and the author has the time to verify and rebut statements made by the interviewee, you're talking about a LOT more work than simply putting out a text-based article.
You could always try text-to-speech.
Re: (Score:2)
Yeah... my lips get tired too when I have to read a long news article
Actually, it is a success for the GPL. (Score:2)
Without the GPL, Mariadb would not exist.
Re: (Score:2)
IIRC mysql try to claim the GPL applies not just to their client libraries but to any reimpmentation of their protocol. So even if you didn't use their client libraries your software still had to be GPL.
http://mysqlha.blogspot.co.uk/2010/03/can-protocol-be-gpl.html [blogspot.co.uk]
Is that term enforcable? will oracle try to enforce it? I don't know but I do know that it's enough to make me wary of using mySQL or any fork thereof in anything I design in future.
Did Oracle even know what they were buying? (Score:2)
Re: (Score:3)
Oracle didn't buy Sun for MySQL, it bought it for Java. Everything else was a distraction that it now has to do something with.
Re: (Score:3)
If you were making $50k an hour, is there any reason you were using lightweight databases in the first place when given that income you could've trivially just stumped up for something a bit more reliable like Oracle or MSSQL Server?
Re: (Score:2)
Re:Did Oracle even know what they were buying? (Score:5, Insightful)
The thing that never ceases to amaze me about Slashdot is that you can say the most uncontroversial thing and there will always be somewhere there to tell you you are wrong. You can say the world isn't flat and there will be someone here to tell you it is.
You are that guy, the guy telling me the world is flat.
Really, if you think MySQL is comparable to MSSQL in terms of stability then you really just shouldn't be working with databases at all. MSSQL and MySQL aren't even in the same class.
Re: (Score:2)
Any database worth $50k / hr or even $5k / hr should be on Oracle or DB2. MySQL is for databases at the $500 / hr or less.
Cited numbers (Score:2)
"Although MySQL is still widely used — Db-engines.com ranks it as the third most popular RDBMS after Oracle and Microsoft SQL Server, compared to MariaDB coming in at #35 — "
They should had read their methodology [db-engines.com] before citing them wrong. It is not what is more used (as mysql is basically the default db used by most popular web apps, should be more in the order of popularity of php than in the oracle, like it or not) but what have more active discussion around in certain circles. Even if you th
Where Linux goes - a sign of where the action is? (Score:3)
The obligatory... (Score:2)
Re:Why "Maria" DB? (Score:5, Funny)
Because JesusDB would drop tables for your sins. Perhaps NoahDB would be better. Built-in disaster recovery - it saves just enough data to replicate everything after the disaster is over.
Re:Why "Maria" DB? (Score:5, Funny)
NoahDB is not bad, a duplicate record of each kind.
How about JewDB though? You know it has to be good with business transactions. You definitely don't want a AlQaidaDB, it'll blow up ever so often and the DHS will be on your ass at all times.
Re: (Score:2, Interesting)
al-Qaeda already means "the base"
wiki:
Experts debate whether or not the al-Qaeda attacks were blowback from the American CIA's "Operation Cyclone" program to help the Afghan mujahideen. Robin Cook, British Foreign Secretary from 1997 to 2001, has written that al-Qaeda and Bin Laden were "a product of a monumental miscalculation by western security agencies", and that "Al-Qaida, literally 'the database', was originally the computer file of the thousands of mujahideen who were recruited and trained with help
Re: (Score:2)
"The Base Database"
Sounds cool in a early nineties BBS kind of way
Re: (Score:2)
So what you're saying is that all your al-Qaeda are belong to us?
Re: (Score:2)
Because JesusDB would drop tables
I see what you did there. Brilliant. =)
Re:Why "Maria" DB? (Score:5, Interesting)
I was thinking why not name it OurSQL
Re:Why "Maria" DB? (Score:5, Informative)
Michael Widenius has two daughters, My and Maria.
http://en.wikipedia.org/wiki/Michael_Widenius [wikipedia.org]
Re: (Score:2)
Oh and a son named Max as well.
http://en.wikipedia.org/wiki/MaxDB [wikipedia.org]
Sorry Max, didn't mean to leave you out.
why not just use postgres? (Score:5, Informative)
why not just use postgres?
jeez
Many providers don't offer this in their cheap standard package. That's a major problem for Postgres I think. Then many popular webapps like Wordpress or Magento are mysql only, and I don't think it will happen soon that they will work with Postgres. Oh and if they did, most of their plugins won't work, so nobody will make the move.
Re: (Score:2)
Magento is most certainly NOT MySQL only (since 1.6)
Of course, it definitely IS MySQL only if the developer plastered module setup scripts with SQL code instead of using the ORM that is provided.
If a module is developed with bad practices, how can you come back and say "Even if Magento did work with Postgres, the module doesn't work with it" when it's the module's fault entirely?
We spent a good 30-45 minutes discussing non-MySQL options during MagentoU training (the training book specifically mentions MS
Re: (Score:2, Interesting)
MariaDB is based on MySQL and tries really hard to maintain binary compatibility with most of MySQL.
Postgres, while an excellent database, has some differences and thus it might take a bit of extra code for people to adapt to it.
You're right, though, any properly coded application will have abstracted the data layer so that you can easily port to another database if it's required.
Re: (Score:3)
any properly coded application will have abstracted the data layer so that you can easily port to another database if it's required.
Further, many application frameworks give you access to a plugin type system where you can write your queries to one SQL-like format and let the framework translate that into your chosen database's dialect.
Re:god (Score:5, Informative)
why not just use postgres?
jeez
Ironically, the fact that PostgreSQL is a better DB makes it easier to convert from PostgreSQL to MySQL than the reverse. MySQL attempts to error correct your SQL queries while PostgreSQL is much more strict. The upshot of this is that queries that works and are tested in MySQL have a good chance of not working and need to be checked (doubly so if the original programmer tried to be clever).
The company I work for is in the beginnings of a transition. Our PHP and C software have an easy switch to convert between the two databases but now we get to check to make sure every query works and returns the same results in both databases. The cleanup of our queries will be good in the long term but for now it's a LOT of work.
Re: (Score:3)
Ironically, the fact that PostgreSQL is a better DB makes it easier to convert from PostgreSQL to MySQL than the reverse. MySQL attempts to error correct your SQL queries while PostgreSQL is much more strict. The upshot of this is that queries that works and are tested in MySQL have a good chance of not working and need to be checked (doubly so if the original programmer tried to be clever).
This doesn't really fit in with the concept of being perfect with what you supply but flexible with what you accept though does it?
I can understand that Postgres is probably more standards compliant and it is very admirable that it helps you write better SQL by refusing to run badly optimised drivel. The problem with this approach though it is assumes that all developers want to write better SQL.
Many developers in the world of work don't give too hoots about the quality of the work they produce, they just w
Re:god (Score:5, Informative)
The problem is that MySQL only looks easier on the surface. I'm not talking about badly optimized, I'm talking about queries are ambiguous and In many cases where MySQL should return an error it simply returns wrong data. The downside when trying to convert is that in a few cases we have found so far, the original author had simply kept modifying the query until the output until it roughly sent what it was supposed to and the result of that is unmaintainable code that everyone is afraid to touch.
Re: (Score:2)
That does sound more like developer problem than a mysql one though. You should touch it.. a lot.
Re: (Score:2)
I don't disagree with that but there is also a good reason we tend to prefer strongly typed languages: it aids in debugging. Having something error out is much easier to debug than having something return bad data or worse yet: silently corrupt data when writing.
Re: (Score:2)
So true. There should always be some kind of error or warning. If the developer then chooses to suppress it, that's on them. I do like MySQL errors though. Much more descriptive than the MSSQL ones i get regularly at work.
Re: (Score:2)
MySQL Sucks. (Score:2)
Re: (Score:2)
I have. It is just that most people with MySQL deployments or MS SQL deployments just use the Database as a basic CRUD system. So you install it and it let it go. PostgreSQL is a real DB system.
Re: god (Score:2)
Shite? Seriously? Postgres handles data more safely than MySQL. It has less risk of getting taken over by a giant like Oracle. It's fast. It's Free. Are you just trolling or what?
Re: (Score:3, Insightful)
Why the Future Belongs To MariaDB? Because he will sell it to another company and will become rich again? That's about his future I guess.
Re: (Score:3, Informative)
Except that he can't. MariaDB is a fork of MySQL and as such Monty does not own the publishing rights in order to sell them. He could sell a "license" of MariaDB, just as he could also sell a "license" of Linux, but he can't alter the licensing of MariaDB any more than he can alter the licensing of MySQL anymore, nor can he sell those privileges to others.
Re: (Score:2)
oblig [youtube.com]
Re: (Score:2)
Re: (Score:2)
... and considering that Oracle has engineered incredibly reliable and extensible enterprise databases...
You just gave me a hernia. Thanks.
Re: (Score:2)
If you replace MySQL with MariaDB, you get LAMP instead of LAMP.
Oh, wait...