Perhaps MySQL is best known for two reasons: firstly it is open source and perhaps the clincher for most, it is free. Now where other vendors offer a free version of their software, it is inevitably a nobbled version with support for only a single CPU, memory restrictions, database size restrictions, or they include a performance throttle to ensure sales of the higher end products from the same vendor are not eroded.
|Price||$0 without support, USD$595-4995/year MySQL network subscription depending on support requirements. No limitations on DB size, # of users, amount of CPUs or RAM.|
|Phone||02 8307 3824|
|No limit to the number of CPUs, very strong features set as provided, very good user interface, solutions for Windows, Netware, Mac, Unix and Linux.|
|Brilliant scaling capabilities "as is" with no need to scale up to Enterprise versions as you do with other vendors, clustering as failover is natively supported.|
|Excellent value -- it's free but is not lacking in features or power.|
|Support, warranty and IP indemnification available through MySQL Network subscription, from basic (US$595) to 24 x 7 x 365 w/30min response time (US$4995), simply per server per year. Directly by expert support/development staff. Non-GPL licences also available, as well as training, certification, and consulting.|
MySQL is free but if you hanker for the arguable security of a formal support contract it will cost you from US$595 to US$4995 a year depending on your requirements. Refreshingly, the support cost is not tied to the number of CPUs or users -- you could run a massive data warehouse or online transaction system and pay $0, or up to the US$4995 (per server) limit for support as you chose. Many, of course, chose the $0 path as the support from the MySQL community is extensive -- you would have to be pretty unlucky to come across a problem that these guys have not personally experienced or could not solve. It is worth noting, however, that if you develop a commercial product based on MySQL that you intend to on-sell, then there is naturally a fee involved.
After we completed our testing version 5 of MySQL was released so we have updated the features table to reflect the latest version's features. In summary, some of the new features in version 5 are Stored Procedures, Triggers, Archive Storage Engine, and the Federated Storage Engine which creates a single logical database across many physical servers.
MySQL runs the entire gamut in terms of hardware supported and can reside in as little as a 64MB Flash Card and 16MB of RAM as an embedded application all the way up to multi-CPU servers and clusters thereof -- and cluster support is comprehensive with full fault tolerance.
It's not weak in terms of database size either; it has a 64TB limit per table and a quick glance at the features table will show that with most features MySQL goes head to head with the other vendors' products. Indeed it is probably a little unfair comparing MySQL directly with the low-end products from the other vendors as MySQL has been built to compete at the high end with the other vendors' enterprise-class databases. And because your initial software install can support a small database or a large enterprise-class database there is no software upgrade needed -- the only extra expense will be the hardware platforms to support your requirements.
Server OS support is broad -- distributors claim that you can install MySQL on any Unix, Linux, Windows, or Netware environment.
While version 4.x of MySQL did not trap data input errors, for example alpha characters in a date field, and only issued "warnings", version 5 now has a strict mode that rolls back the transaction if a violation is encountered. Row locking is implemented in memory but apparently the implementation is so memory efficient, requiring just a couple of bits per row lock, that there are no incidents of row lock escalation. Dirty reads are only encountered if you explicitly set the isolation mode to "read uncommitted".
Installation on Windows Server 2003 was very fast and configuration simple, even for a novice, with a clearly navigated configuration wizard. During configuration the installer is presented with simple options describing the server and its usage over nine or so screens, and at the end of it all your server's parameters are configured without needing to know a single CLI (command line interface) command.
At first sight it appears to the uninitiated they need to rely on the CLI to administer the database, which is pretty daunting given that we have been subjected to many years of GUIs as the front end for everything from operating systems to applications. Admittedly there are not all that many commands to remember and the syntax is, well relatively logical, and of course if you watch anyone versed in SQL they will forgo any GUI most of the time and just hammer away in the CLI. However for our scenario we are envisaging, in the early days at least, the role of database administrator (DBA) falling on one of the existing staff as a part time role, ie, someone who won't be eating, breathing, and sleeping with SQL so a GUI would be a welcome grief saver.
Just two short downloads are all that is needed to get your hands on MySQL Query Browser and MySQL Administrator. Now I must admit that I thought the GUIs would look a little home baked but this is definitely not the case.
Administrator, for example, while perhaps not as extensive in features as Oracle or IBM's DB2, is nevertheless extremely user friendly and very simple to navigate with its bold graphics. While not as feature packed, it nevertheless has all the functionality a novice DBA is likely to need -- and more. From here you can administer users, configure and optimise the database, backup and restore databases, and check on the "health" of the database.
The Query browser is similarly featured and makes short work of creating and modifying tables, building and managing queries, and debugging SQL scripts.
Should you need to migrate a database from another proprietary database such as MS SQL Server, Oracle or MS Access then the Migration Toolkit, again with the friendly GUI, should take a good deal of the worry out of the process.