Major Database Servers
In this book, we will focus our attention on four popular RDBMSes, two of which must be purchased for use in a production environment, and two of which do not have to be purchased. (We will resist the urge to call them "free," as the actual cost of the software is only part of the cost of running a database server.)
Starting with version 1.0 in 1995 and with the release of version 5.0 in 2005, MySQL has become an extremely popular open source database system. The set of features grows dramatically with each new release, and its competitiveness with commercial database systems continues to increase. Its releases are now actively managed by the company MySQL AB, which is based near Stockholm, Sweden.
For those who are squeamish about using open source software without support, contracts for MySQL support and bug fixes can be purchased either directly from MySQL AB or from numerous consultants who work with the product. New releases now come in Standard (free) and Pro ($$) versions, which give people further flexibility in choosing how to manage their databases and software investments.
In addition to supporting ANSI SQL, the MySQL databases now support a remarkable number of features, including wide platform support (most Unix-like platforms, Windows, and Mac OS X), transactions, stored procedures (version 5.0 and later), replication, and clustering.
Another major open source database management system is PostgreSQL, a free system that originated at the University of California, Berkeley in the mid-1980s. Since then, it has grown into a world-class DBMS used all over the world. Even though the database is "free," there are organizations from which you can purchase support and bug-fixing contracts.
Sometimes overshadowed by MySQL, PostgreSQL has an active advocacy community around it that touts features such as its performance, generous BSD-style licensing, and strong compliance with existing standards for database servers.
PostgreSQL supportsin addition to ANSI SQLreplication, stored procedures, secure connection mechanisms, transactions, and excellent tools support. Platform support includes most Unix-like platforms and Microsoft Windows.
The premiere commercial DBMS available today remains Oracle Database, which is now releasing its version 10 series. This database server supports a number of platforms, including Linux, Windows, and Sun Microsystem's Solaris, and can be quite expensive (although you can download the software for free on the Oracle.com web siteyou just cannot use it in a production environment).
However, the performance and feature set of this database are widely regarded as unparalleled, and many major data-centric applications use this server for their data needs. Features include rich extensions to the SQL language (called PL/SQL) and all other standard database goodies like transactions, clustering, replication, stored procedures, and excellent integration with most tools. Oracle Database is also one of the more complex database systems available. Database administration can be quite intimidating to new users.
Microsoft SQL Server
Microsoft also has an offering in the database worldSQL Server. While it only runs on Windows-based machines, Microsoft has put a lot of energy and effort into making its performance competitive with the other systems available, including Oracle, and pricing has made it an attractive alternative.
Being tightly integrated with the Windows operating system has let Microsoft work hard at making this server easier to use than many other systems.
It is unfortunate that we only have the space to focus on a limited number of database servers here, because PHP supports a wide variety of them. Many of the other servers available are quite feature-rich and worth using, such as Firebird (open source), IBM's DB2, the FrontBase server for Apple's Mac OS X, and Ingres, from Computer Associates.
Fortunately, the APIs (Application Programming Interface, or set of functions with which you access a feature) for these databases are remarkably consistent, so the cost of experimenting with them should be manageably low.