| Book Review: MySQL is the senior database partner in LAMP
Feature: That gives MySQL tremendous reach as it delivers an Enterprise database
MySQL released its 5.0 database which added such enterprise features as triggers, stored procedures and constraints to its Open Source database engines. Note the plural here. MySQL has a unique capability among database vendors - it fits the underlying database storage engines to the nature and use of each specific database instance. Now all database vendors claim that they do the same; but MySQL is the only vendor with pluggable engines like MyISAM for queries and BI, Innodb and the new Falcon engines for high speed transaction processing, or the Cluster engine for large scale cluster processing. And because MySQL is Open Source users can and do write their own special storage engines for changing routines called depending on whether a database instance is clustered or not, partitioned or not, used for BI with dimensional organization or not, etc. As we shall see this is both a strength and weakness for MySQL.
But there can be no argument about the strength of MySQL's broad and fairly uniform platform reach. It vies well with Oracle in having the broadest set of OS platforms and hardware architectures that it supports including over 2 dozen Linux distributions on i86 +AMD 32 and 64bit plus IA64bit, Solaris on Sparc and i86, HP/UX, AIX, Windows(NT, 2000, XP, 2003, or Vista), MacOS, Qnx, BSD and Netware. However, this range of platform support falls off notably with the MySQL GUI Toolkits for DB Administration, Designs, Migration, and Query. MySQL's own GUI Tools for development and admin are supported on smaller set of OS: Redhat, Fedora, Suse Linux, MacOS, and Windows only. For those DBAs not wedded to the command line utilities the Admin, Migration, and Query tools(see Query Browser above)are powerful and effective. In contrast, the ERD-Entity Relationship Design tool is still buggy and integrates poorly. Finally, MySQL also has a very broad range of connectors and adapters to a wide set of programming languages through: ODBC, JDBC, plus direct C libraries and routines in Java, .NET, PHP, Perl, Ruby, and VB. So MySQL has one of the broadest reaches of the free databases.
But the main line vendors like IBM, Oracle, Sybase and others had claimed that they were better suited to enterprise applications because they could deliver enterprise capabilities while MySQL doesn't deliver basic triggers, stored procedures and other enterprise features. Well with MySQL 5.0 a lot of those arguments fell a good way to the wayside:
Now for many users in the know on databases, MySQL still has some shortcomings on such items as stored procedures, triggers, information schema and the Federated Storage Engine relative to whats available in DB2 or Oracle. Also complex and/or large database features such as partitioning, clustering
and replication are either served in a primitive, "al dente" fashion or have competitive issues to be addressed. However,
the MySQL 5.1
upgrade attacks many of those issues:
Finally, MySQL has emphatically put to rest the Ballmer/Gates notion that Open Source cannot possibly compete against the profit-driven software vendors like themselves. Open Source can be service and support plus customer/partner led innovative - leading to a model of profitable Open Source software. This is in stark contrast to the too often Eula + Monopoly-market coercive regime offered by many packaged software vendors.
MySQL has cachet where the other database vendors would really like to be - preferred Open Source database where users can and do download and deploy MySQL for free and use in literally millions of small to medium scale applications. Second, as senior database in LAMP(despite all the efforts of PostgreSQL database community)- MySQL's Linux/Apache/MySQL/PHP/Python/Perl position gives it access to over 2/3rds of Web database servers. I addition, as noted there is an army of third party tool vendors developing tools and applications that utilize MySQL database services as their point of departure. Finally, MySQL comes with just about every Linux distribution, and is readily installed on Windows, Mac and Solaris for both server and client operations. This is tremendous breadth often at a very attractive TCO.
But MySQL also has problems. Its very rapid pace of development has left 3.x and 4.x users with major upgrade tasks. MySQL until version 5.1 has had to play junior Enterprise database to Oracle, DB2 and others in essential cluster, partitioning and replication features. Now spatial data, Web Services and native XML support are the new hurdles MySQL has to overcome.
Finally, even as an Open Source database MySQL is open to monopolistic attack. Because MySQL is so dependent on service, support, and education for its revenues, it is vulnerable to a number of attacks from database vendors who charge per seat/per server for their products as well as for service and support. Oracle has revealed one such vulnerability by charging half-price for Red Hat Linux support - thus damaging that Open Source vendors primary revenue stream. Microsoft has reportedly struck deals where the database and support are given away for free in a package with Windows SQL Server 2003 picking up a per seat and super support tab less than MySQL+Windows Server 2003 seat + support. In effect, big enterprise vendors like IBM, Oracle and Microsoft can and do use private contract giveaways to tilt the database playing field in their favor. Finally, in technical standards and innovation, all the other major vendors have much bigger patent portfolios and standards committee presence than MySQL, again potentially jeopardizing MySQL's ability to shape the direction and intent of standards and innovations.
Top of Page Home Tutorials Developers Weblog Graphics Reviews and Tips