⇥ Who would buy MySQL?
It’s one thing to say that MySQL doesn’t belong in Oracle’s hands—and quite another to find another set of hands to hold it.

MySQL badly needs some love. From someone. Right now.
An article on the New York Times cites Mayflower’s Björn Schotte making a really interesting comment:
Björn Schotte, head of marketing at Mayflower, a German software developer, said a prosperous company like Oracle, with its team of developers supporting MySQL, could foster the spread of open-source software at a time when Sun was suffering.
In his blog, Björn also points out that
in the past decade MySQL grew from a small database to a great database server which suits a lot of enterprise needs for the web. I don’t want that industry fall back – the future is the web and the database for the web is MySQL.
Of course, Björn is right in at least a couple of points: MySQL is a popular DBMS, and it certainly has grown considerably in capabilities over the year. However, one of the complaints that we hear often from our clients is that, beyond a certain level, MySQL becomes very expensive to manage and grow. For example, while replication is fairly simple to set up, higher-end setups like clustering and advanced performance tuning require expertise that is not easy to find.
Therefore, the majority of people use MySQL at the level where its most desirable qualities—simplicy and cost—shine. As their needs grow, so does MySQL’s cost of ownership and, therefore, its market advantage shrinks considerably. This is a problem that anyone wanting to acquire MySQL would have to contend with, as is the fact that so much of MySQL’s usage happens in an environment where there will never be money to be made in any way, making adding more “proprietary” features (whether formally or informally through their complexity) the only way to grow the company’s business.
At the most basic level of database usage, another threat to MySQL is slowly becoming significant: the fact that a whole generation of developers who has learned to use nothing but relational structures for their data is suddenly discovering the fact that, really, they don’t actually need relational databases for most of their work and that, indeed, RDBMSs are making it more difficult to perform certain functions.
As the needs of developers diversify, so will their approach to data management—particularly in light of the fact that of all types of database systems, the relational ones have traditionally been the most difficult to scale. Therefore, in the medium term more and more development shops will take a holistic approach to data management, using the relational approach where they actually do need its functionality, but also taking advantage of other database types where their needs warrant: document-based systems for flexible document storage and distributed key/value systems for scalability and redundancy.
MySQL is poorly positioned to support this transition, because its two primary strengths are simplicity—as a DBMS, it’s certainly the easiest and least expensive to adopt, even among the open-source ones—and the ability to act as a Swiss Army knife of sorts through a number of features that work but are ill-adapted to RDBMSs (full-text indices anyone?). In the long run, MySQL needs to diversify its product line to ensure that developers who take a more partitioned approach to their data management do not simply bleed away from its core product because they find so many alternatives that are as simple, effective and inexpensive in addition to catering better to their more specific needs.
This makes MySQL a difficult acquisition candidate—more so today than even six months ago—but an excellent candidate for a company like Oracle, with deep knowledge in the area of complexity and scalability, to grow and maintain. Of course, Oracle’s products are anything but simple, and so I agree with Biörn that their sideways acquisition of MySQL could well be a huge problem. However, the problem is: who would want to buy MySQL, knowing of the significant threats it’s experiencing?
Update: I should mention, by way of disclosure, that Oracle is a client of MTA.
Photo credit: I Love MySQL by Kevin Severud
Comments
[...] Marco Tabini wrote in an earlier blog article "Who would buy MySQL?", he agreed to my advice that it would be wise to sell MySQL to another company in order to get the [...]
I really don’t think so.
1) MySQL is not intended to be used for clustering and high-end applications at all. While you _could_ use it for these things also, it is not and will never be the core of the audience.
I believe that MySQL is a beginner’s database best used for low-end apps, where MySQL is a low-budget, light-weight database for hosting providers (who might need some training and support but not too much).
One of MySQL’s benefits is, that it is light-weight enough that you may even put it on a CD-ROM and run it from there with about zero extra configuration.
2) I believe most of the value of MySQL lies in the power of the name “MySQL” – not in the product. Most people who would never use any other database than MySQL, don’t use any high-end features. So obviously any other database could also do the job – but “any other database” is not “MySQL”.
That’s why I strongly believe that forking MySQL is non-sense, since you can’t fork the name.
3) I do think that companies like Zend could be an interesting candidate. MySQL is a perfect match for Zend’s new application server. They need tight database integration to compete with IBM Websphere and others anyway. Plus MySQL is most popular with most PHP users. Database support integrated in Zend Server support, together with Zend certification programs could be an interesting option.
Marco, I’ve been enjoying your commentaries and the responses. Good stuff.
Now, about your MySQL post…
I am by no stretch of the imagination a relational database “expert”, but I have worked with Informix, Sybase SQL Server, Oracle, Btreive, Sybase SQL Anywhere and MS Access, among others. In my experience, working with MySQL is no more difficult than is working with all of the above, save Access and SQL Anywhere in a stand-alone (non-server) configuration.
Marco said: “while replication is fairly simple to set up, higher-end setups like clustering and advanced performance tuning require expertise that is not easy to find”
–I should think any good DBA with any major RDBMS under their belt would have no trouble doing these things in MySQL.
Marco also said: “At the most basic level of database usage, another threat to MySQL is slowly becoming significant: the fact that a whole generation of developers who has learned to use nothing but relational structures for their data is suddenly discovering the fact that, really, they don’t actually need relational databases for most of their work and that, indeed, RDBMSs are making it more difficult to perform certain functions”
–HUH??? Isn’t the most basic level of (relational/MySQL) database usage using them in non-relational ways (IOW, as a flat-file type storage system)? If you don’t need a relational database for a certain function, don’t use one. Simple.
Tom said: “I believe most of the value of MySQL lies in the power of the name “MySQL” – not in the product.”
–I believe most of the value of MySQL lies in the fact that it is a defacto standard for (even many of the cheapest shared) web hosting platforms. It comes built-in and ready to use, and is often the ONLY RDBMS offered (ok, MS SQL Server is pretty common these days too). Add to that the fact that in recent years, important “new” features have been added to MySQL, bringing it _closer_ to the “enterprise RDBMS” ideal (much like Microsoft did with SQL Server).