Helping organisations migrate to Open Source Software
NOTE: this is an incomplete work-in-progress; development continues on
an almost daily basis.
Contents
HomeNews & Opinion Case Studies Software Packages > Apache > MySQL > OpenOffice.org > Squid > VNC Contact The Open Source Migration Guide is edited and maintained by Mike Banahan of GBdirect Ltd. This page last updated May 06 2003 08:01:56. |
![]() |
The MySQL Open Source DatabaseMySQL is designed and produced by a commercial company from Sweden, MySQL AB, who produce it in freely licensed (Open Source) and also for-money versions. The costs for the paid for version are modest but incorporate an element of support into the offering, the profits funding continuing development of the project. MySQL AB states that it has been profitable from the beginning despite apparently 'giving away' its product. MySQL has developed huge popularity through its association with dynamic websites and languages such as PHP and Perl which contain built-in or modular support for access to MySQL. MySQL is available for essentially all versions of Unix in source-code form as well as in pacakaged versions for all of the mainstream Unix derivates, GNU/Linux and other Open Source Unix look-alikes. An undoubted additional reason for its popularity is that a robust version is also available for Microsoft Windows platforms. MySQL and the popular languages associated with it have now spun off numerous third-party add-ons and management tools, including ODBC and JDBC drivers; far too many to mention comprehensively here. MySQL is based on relational database technology. Historically it would be fair to say that it has favoured robustness and speed over all of the features that might be associated with a heavyweight relational database and some of this has been at the expense of complete standards compliance with the SQL language. A common gripe amongst database developers used to 'serious' databases has been that MySQL used not to support sub-selects or transactions (for example), they may also mention stored procedures and triggers. As the product matures these features are being added. Nonetheless MySQL remains at the lightweight end of the scale and has demonstrated that many applications do not need the bulk associated with more fully-featured products. Where a richer feature set is required, PostgreSQL provides an open source alternative. MySQL has gained its reputation on its speed (for data retrieval), its robustness and its simplicity. Compared with the larger products it is very simple to administer and tune. In circumstances where data lookups (selects) outnumber changes (updates or inserts) it provides extremely good performance. It has also proved itself to be highly reliable and is widely liked and trusted. Unlike many Open Source products its documentation is also excellent. This website uses MySQL as the database for its link manager; every page viewed on this site typically results in a dozen or so MySQL lookups to find the targets for the links (and significantly more for the links page). Migrating to MySQLMany routine data storage and retrieval tasks are suitable for MySQL. Users familiar with the database engine that often underlies Microsoft Acess (the Jet engine) may find that MySQL provides all of the features that they need plus a good deal more besides in terms of table types, multi-user capability, speed and scalability. It is most likely though that MySQL would be seen as a contender for new applications rather than a choice being made to migrate from existing technology to MySQL. Because of the ways that database applications are typically written and because SQL standardisation never properly occurred, a greater or lesser degree of re-coding the queries is likely to be needed in a migration. 'Migration' to MySQL in most organisations is more likely to be a choice to use MySQL for forthcoming applications development if the application is either brand-new or represents a significant rewrite of an existing application. ReliabilityEnd user experience is mostly anecdotal, but within the industry MySQL has an outstanding reputation for reliability and data integrity. Users familiar with databases that provide checkpointing and a transaction log for backup purposes may be disappointed with the services offered by MySQL but that has never been a selling point for the product. SecurityThere are no known security issues associated with MySQL. Feedback on this point would be welcomed from those who wish to comment. FlexibilityMySQL is a modestly-sized product and does not practically compete with large-scale transactional databases such as those at the high end of commercial deployment. The amount of tuning, administration and maintenance flexibility is limited. Users have a choice of underlying database table types with a selection of features and a limited form of database replication is available. PerformanceMySQL has a reputation for very high speed of data retrieval. It works well for applications where this is a feature of the type of application load. A limited amount of performance tuning is available. Performance is rarely a criticism of MySQL amongst its users. Standards complianceThe 'standard' for relational databases is essentially the SQL language standard. This is more honoured by its breach than its observance; in practice the majority of commercial databases are incompatible in their implementaton or interpretation of the standard. Interested readers are referred to the MySQL website for a discussion of standards compliance. There are known issues with the way in which MySQL conforms to the SQL standard, mostly at the level of irritation rather than show-stopper (unless you are unlucky or require features that MySQL simply does not support). Licensing and SupportMySQL is available under the GPL provided that its users conform to certain restrictions published on the MySQL website. Alternatively it can be licensed for a modest fee, at the time of writing this was USD $220 per copy. Note that licensing only applies if the product is redistributed. Support is available from MySQL AB and numerous other sources.
You are reading an incomplete work-in-progress. Development continues on a daily
basis. Too many sections are currently place-holders but these will be filled
as effort and budget permit.
|