Introduction

A relational database management system (RDBMS) is an essential tool in many environments, from the more traditional uses in business, research, and education contexts, to newer applications, such as powering search engines on the Internet. However, despite the importance of a good database for managing and accessing information resources, many organizations have found them to be out of reach of their financial resources. Historically, database systems have been an expensive proposition, with vendors charging healthy fees both for software and for support. In addition, because database engines often had substantial hardware requirements to run with any reasonable performance, the cost was even greater.

In recent years, the situation has changed on both the hardware and software sides of the picture. Personal computers have become inexpensive but powerful, and a whole movement has sprung up to write high-performance operating systems for them that are available for the cost of an inexpensive CD, or even free over the Internet. These include several BSD UNIX derivatives (FreeBSD, NetBSD, OpenBSD) as well as various forms of Linux (RedHat, Caldera, LinuxPPC, to name a few).

Production of free operating systems to drive personal computers to their full capabilities has proceeded in concert with and to a large extent has been made possible by the development of freely available tools such as gcc, the GNU C compiler. These efforts to make software available to anyone who wants it have resulted in what is now called the Open Source movement, and which has produced many important pieces of software. For example, Apache is the most widely used Web server on the Internet. Other Open Source successes are the Perl general-purpose scripting language and PHP, a language that is popular due largely to the ease with which it allows dynamic Web pages to be written. These all stand in contrast to proprietary solutions that lock you into high-priced products from vendors that don't even provide source code.

Database software has become more accessible, too. Database systems such as PostgreSQL are available for free. More recently, commercial vendors such as Informix and Oracle have begun to offer their software at no cost for operating systems such as Linux. (However, these latter products generally come in binary-only form with no support, which lessens their usefulness.)

Another entry into the no-to-low cost database arena is MySQL, a SQL (Structured Query Language) client/server relational database management system originating from Scandinavia. MySQL includes a SQL server, client programs for accessing the server, administrative tools, and a programming interface for writing your own programs.

MySQL's roots began in 1979, with the UNIREG database tool created by Michael "Monty" Widenius for the Swedish company TcX. In 1994, TcX began looking around for a SQL server for use in developing Web applications. They tested some commercial servers, but found all too slow for TcX's large tables. They also took a look at mSQL, but it lacked certain features TcX required. Consequently, Monty began developing a new server. The programming interface was designed explicitly to be similar to the one used by mSQL because several free tools were available for mSQL; by using a similar interface, those same tools could be used for MySQL with a minimum of porting effort.

In 1995, David Axmark of Detron HB began to push for TcX to release MySQL on the Internet. David also worked on the documentation and on getting MySQL to build with the GNU configure utility. MySQL 3.11.1 was unleashed on the world in 1996 in the form of binary distributions for Linux and Solaris. Today, MySQL works on many more platforms and is available in both binary and source form. The company MySQL AB has been formed to provide distributions of MySQL and to offer support and training services.

And MySQL continues to develop. The addition of features such as transactions, row-level locking, foreign key support, and replication has caused people who once would have considered only "big engine" databases for their applications to give MySQL a second look.

MySQL is an Open Source project that can be used for free under most circumstances, for which reason it enjoys widespread popularity in the Open Source community. But MySQL's popularity isn't limited to Open Source enthusiasts. Yes, it runs on personal computers (indeed, much MySQL development takes place on inexpensive Linux systems). But MySQL is portable and runs on commercial operating systems (such as Solaris, Mac OS X, and Windows) and on hardware all the way up to enterprise servers. Furthermore, its performance rivals any database system you care to put up against it, and it can handle large databases with millions of records.

MySQL lies squarely within the picture that now unfolds before us: freely available operating systems running on powerful but inexpensive hardware, putting substantial processing power and capabilities in the hands of more people than ever before, on a wider variety of systems than ever before. This lowering of the economic barriers to computing puts powerful database solutions within reach of more people and organizations than at any time in the past. Organizations that once could only dream of putting the power of a high-performance RDBMS to work for them now can do so for very little cost. This is true for individuals as well. For example, I use MySQL with Perl, Apache, and PHP on my Apple iBook running Mac OS X. This allows me to carry my work with me anywhere. Total cost: the cost of the iBook.



MySQL
High Performance MySQL: Optimization, Backups, Replication, and More
ISBN: 0596101716
EAN: 2147483647
Year: 2003
Pages: 188

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net