Conquering Complexity with Modularity

Mårten Mickos
Mårten Mickos

What companies use MySQL today?

Mickos: We enjoy the largest number of users and the greatest popularity on the Web. The operation of Web sites based on MySQL is likely to remain our typical area of use. Our database builds the back end for dynamic Web sites that primarily depend on rapid access to data. As a second user category, we have companies that integrate MySQL in their products – companies like Cisco, Alcatel, Nokia, and other software manufacturers. Here we speak of “embedded databases,” where the actual database is part of a complete application and not directly visible to the user. The third group comprises companies that traditionally use MySQL as a database for the most varied kinds of data – NASA or Hypovereinsbank, for example.

Those groups represent completely different kinds of users, each with very different needs. As a comparatively small company, can you develop the same kinds of databases for all three groups?

Mickos: I believe that we can because of the open-source approach. With our architecture and modularity, we show that we’re capable of meeting the various needs of our customers. Our pluggable storage-engine architecture gives us a strength that other companies do not have. Our database can run with various storage engines. They can be combined at will and thus cover a large application area.

MySQL does have several storage engines for various areas. How has this design proven itself?

Mickos: Modularity is our answer to complexity. We add new features to our database without increasing the complexity. For example, the stored procedures do not influence the performance of the database – they involve only a few lines of the source code. Modularity executes the actual code for the stored procedures only when this function is actually needed. New features only make the manual a bit thicker. For example, in MySQL 5 we have integrated two new engines for database archive and for access to remote databases without making the code of MySQL any more complex. Additional engines can be added without difficulty – we just added a transaction-oriented engine as an alternative to InnoDB.

With the current version (5), MySQL now masters functions that are absolutely necessary for ERP. How do you see your opportunities here?

Mickos: Of course, some companies migrate from an existing database to MySQL, but that is not our primary business. We focus on new enterprise applications, not on existing applications. In new applications, we create the core infrastructure. In older solutions, MySQL is “only” an add-on to enhance the enterprise-critical database with new functions, such as Web-enablement. Usually, it doesn’t make a lot of sense to migrate a good, well-functioning application to another database. But it’s generally rather expensive to integrate new functions with an old database. Customers cannot and do not want to spend that kind of money. That’s why they invite us into their firms.

In our partnership with SAP, we’ll continue to work as we have in the past, with cooperation between the development teams of MySQL and MaxDB. We’re also making sure that MySQL can serve as a basis for SAP applications in the future. MySQL is going through the SAP certification process right now. We expect the process to be complete at the end of the year.

That would mean that MySQL will have two SAP software–capable databases in its portfolio. You also sell MaxDB, the former SAP database. Will the two products eventually become one?

Mickos: No merge of MySQL and MaxDB is planned. Some ideas from MaxDB have become part of MySQL 5, such as double-byte precision math, a form of calculation that delivers better results than the usual floating-comma operations. MaxDB has always been used primarily in the SAP ecosystem. Outside of the world of SAP it has not yet found a large community of users. MaxDB focuses on the SAP market and is a very good fit there. That’s also the feedback we get from our customers, so we won’t even try to place MaxDB in a wider market.

Then who are your most important competitors?

Mickos: Our competitors are Oracle, IBM, and Microsoft. But we have a completely different approach to the market. We believe that databases are a commodity product, that the market will come to accept this view, and that this view will manifest itself in an appropriate product. MySQL is that product. No other manufacturer follows this approach. And that’s because the other manufacturers don’t believe that this market even exists.

But how many database manufacturers do offer economical solutions with slim functions?

Mickos: The free, light offerings of other manufacturers are garbled closed-source products – free, but with limited functionality. We don’t have that. And the limitations we do have apply to areas in which the functions cannot even be used. Of course the other manufacturers have more functions than we do. And they will always have more functions than we do. We do not aspire to becoming their equals. Performance, reliability, and simple operation are important to us. That’s where we are better than everyone else.

With your model, you address a market that is very price-conscious. How do you intend to earn enough profit in the long run?

Mickos: The margins will be good for the foreseeable future. Of course, customers always want to pay less, and that’s all right. The production and delivery costs are going down. In addition, the market is huge – that’s a must for commodity products. Even in traditional markets, the most profitable suppliers are those that offer commodity products, like Coca-Cola or Gillette. I think that the software market will also develop in this direction.

In terms of new functions, MySQL is not exactly in the lead. Why such a low degree of innovation?

Mickos: When we look at new features, we don’t look at the competition. We ask our customers. The new features in MySQL 5 are customer-driven. But that does not make us less innovative than other manufacturers. I believe that commoditization is a high degree of innovation. It packages functions that are known to users in a new, easily operated format. And it does so without affecting performance. That is the true challenge of software design – how to make something as simple as possible.

Or, as Antoine de Saint-Exupéry stated, “Perfection obviously exists not when there’s nothing more to add, but when there’s nothing more to take away.” That’s why we follow the path of modular architecture. It has enabled us to mix high up with the competition and to penetrate into areas more quickly where we previously had nothing to offer.

The interview was held by Jan Schulze