MySQL

The world's most popular open source database

Contact a MySQL Representative


  • MySQL.com
  • Developer Zone
  • Partners & Solutions
  • Customer Login
  • DevZone
  • Downloads
  • Documentation
  • Articles
  • Forums
  • Bugs
  • Forge
  • Blogs
 
  • Pages

    • Press Release: “Kaj Arnö Appointed MySQL VP of Community Relations”
  • Archives

    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • April 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • October 2005
    • September 2005
  • Categories

    • Architecture of Participation (45)
    • Connectors (12)
    • Documentation (4)
    • Events (43)
    • Falcon (5)
    • GPL (8)
    • GUI (3)
    • Licensing (11)
    • MySQL (199)
    • MySQL Cluster (5)
    • MySQL Proxy (4)
    • MySQL Server (30)
    • MySQL Users Conferences (24)
    • MySQL Workbench (5)
    • Photography (11)
    • PHP (9)
    • Release Policy (19)
    • Ruby on Rails (5)
    • Running (4)
    • Summer of Code (8)
    • Sun (46)
    • Sun visits (23)
    • Travel (19)
    • Use cases (7)
    • Virtual company (36)



Kaj Arnö
« Podcast with Scott Mace available on IT Conversations
How to Now Contribute Code to MySQL »

MySQL Max Build Policy

Starting MySQL 5.1 (1), we’re simplifying life when it comes to the number of builds for each platform. We will be building only one binary package for each platform (2): the binary known in MySQL 5.0 as “max”. The assumption is that users prefer one binary with all options enabled, rather than having to choose the proper version at install time (or worse still, rely on others having made the proper choice on their behalf).

And with only one version, there is no need to call it “max”. “The max version is dead. Long live the max version!“. Not to speak in riddles, the standard mysqld binary is intended to contain all mysqld-max features. While 5.1.11 e.g. in Linux (x86) package still has three binaries

mysql-5.1.11-beta-linux-i686/bin/mysqld
mysql-5.1.11-beta-linux-i686/bin/mysqld-debug
mysql-5.1.11-beta-linux-i686/bin/mysqld-max

the plan is to reduce this to two. Already now in 5.1, the only difference between mysqld and mysqld-max is the BDB table handler. The only real difference going forward is removing support of BDB, which is the first step towards removing it also from the source after 5.1.

We think the majority of our users agree that the simplification is beneficial. This way, MySQL will by default contain MySQL Cluster, together with all other functionality we deem stable enough to provide our user base with.

In MySQL 5.0 and earlier, the Standard/Max duality has proven problematic from the user’s perspective:

  • The question “Which package should I install?” is a very common one on the mailing list.
  • There is a limit to the number of flavours a user can decide between, more flavours is just overwhelming.
  • The risk of the user picking the wrong binary and then thinking “this is not supported” is high.
  • As we want customers to try new things, we should see to it that they already have them installed.

I imagine the user asking himself or herself questions like

  • Has my DBA installed the version I want and need?
  • Are security functions (such as SSL) available in all binaries?
  • Does the Debug version have the extra debug information on top of Standard or on top of Max?
  • Is MySQL Max somehow related to MaxDB? (Footnote: No, it is not)

I won’t hide the fact that our Build team also saves some time by not providing multiple binaries: We get a shorter turnaround time for builds, for tests and for uploads to mirrors. And it helps our commercial Support team, which now needs to ask users to separate between flavours for versions, and keep track of differences between flavours.

However, our simplification is not as much about reducing our own build complexity, as about simplifying life for our user base.

  • Fewer choices means less time spent choosing, simpler lists on the Web.
  • The user/developer is less dependent on which particular version he has, when he uses/develops applications based on MySQL.
  • The developer does not need to convince his DBA or ISP to upgrade into a particular flavour of a release.
  • ISPs and DBAs don’t have to make complex decisions on which flavours to support.
  • Distributors will hopefully pick up our choice of configuration, to further reduce the number of different MySQL configurations available (and thereby the confusion).

Like with any decision, we don’t have all the facts at hand. So now is the time to let us know if we’re on track or not. This can be done on
the forums at http://forums.mysql.com/list.php?3, or on the mailing lists at http://lists.mysql.com/mysql or as comments to this blog (if you register yourself first).


Footnotes:

(1) The MySQL 5.1 download pages at http://dev.mysql.com/downloads/mysql/5.1.html say

As we’re working on making some changes to how we will provide binary distributions of MySQL 5.1, this release currently only provides “Max” binaries for a few selected platforms as well as the source distributions.

Compare this to the download pages for MySQL 5.0 Community Edition - Generally Available (GA) Release at http://dev.mysql.com/downloads/mysql/5.0.html where we say

The Standard binaries are recommended for most users

The Max version includes additional features that have not been exhaustively tested or are not required for general usage. When these features have matured and proven to be stable, they will be incorporated into future releases of the Standard binaries. The Max version also, for most platforms, contains MySQL Cluster storage node, management server and mysqld/ndb enabling programs.

The Debug binaries have been compiled with extra debug information, and are not intended for production use, because the included debugging code may reduce performance.

(2) A separate server binary with additional debugging support enabled continues to be included.

This entry was posted on Friday, July 21st, 2006 at 16:00 and is filed under MySQL. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response to “MySQL Max Build Policy”

  1. Testing The Web Dot Com » Blog Archive » MySQL Max Build Policy Says:
    July 25th, 2006 at 17:26

    […] Read the full article by Kaj Arnö […]

Leave a Reply

Kaj Arnö is proudly powered by WordPress MU running on Blogs.mysql.com.
Entries (RSS) and Comments (RSS).