Strengths and Weakness of MySQL

Strengths:

■■ Speed ■■ Reliability ■■ Low system resource requirements ■■ Scalability ■■ Platform diversity ■■ Support for a large number of host languages ■■ ODBC support ■■ Free or low-cost licensing ■■ Inexpensive commercial support ■■ Strong user community backing ■■ Availability of the source code

Weaknesses:

■■ Lack of certain SQL features ■■ Lack of thorough testing on certain platforms ■■ Difficulty of working with the source code

Prominent Users of MySQL

MySQL has penetrated the enterprise in a way that perhaps would be odd for a typical proprietary application, but is very common for an open-source package. Developers brought it in through the back door, and sometimes by the time management found out, developers had a working solution based on MySQL with zero database licensing costs. This often won acceptance for MySQL at both the management and development levels. Some prominent users of MySQL have publicly released the fact that they are using MySQL and somewhat elaborated on their use, which allows us to talk about them in this book. Others are using it in production—frequently under heavy load—but treat this information as a trade secret. The organizations I mention in this section have made their use of MySQL public, so we can discuss a few details about their implementations. The companies listed here are the tip of the iceberg. MySQL AB collects user stories and publishes them at www.mysql.com/ press/user_stories/, so you might want to check there for more information.

Yahoo! Finance

Yahoo! Finance (finance.yahoo.com) uses MySQL to power a portion of the Web site. The database contains a total of 25GB, with the largest table containing over 274 million records and 8GB of data. The platform is x86 Linux and FreeBSD. The setup is replicated: one master and three slaves. The master is the most heavily loaded, and at peak times processes over 1,200 queries per second with the read/write ratio of 70/30.

NASA

NASA is using MySQL as a backend for the NASA Acquisition Internet Service (NAIS) site (nais.nasa.gov). This system has been reported to handle several thousand users and is receiving 300,000 hits per month. The database runs on Sparc Solaris. While the load and the database size is far below the top capacity of MySQL, NASA has been very pleased with the cost reduction and improved performance since it migrated from Oracle.

U.S. Census Bureau

The U.S. Census Bureau provides access to census information through three sites: www.fedstats.gov, www.mapstats.gov, and www.quickfacts.gov. These sites use MySQL as their backend database solution. The load on the sites is approximately 120,000 pages per day. Although the U.S. Census Bureau could have used Oracle for no additional cost (it has an Oracle site license), it chose MySQL for “its ease of installation, maintainability, configuration and speed,” according to Rachael LaPorte Talor, the Senior Web Technology Architect for FedStats.gov. The database runs on x86 Linux.

Texas Instruments

Texas Instruments uses MySQL to store regression test results for its semiconductor products. The database contains over 13 million records, filling up 5GB of data. Additionally, MySQL is used for a bug-tracking database that keeps track of 70 projects with 1,000 users. The platform is Sparc Solaris.

SS8 Networks

SS8 uses MySQL in its Local Number Portability (LPN) product for persistent storage of information pertaining to phone customers who have moved and switched their carriers. The supported capacity is up to 50 million records. MySQL was chosen for its performance, low resource requirements, and low licensing costs.

Moble.de

Moble.de runs an online car dealership with 315 million pageviews per month and a MySQL database containing records for 600,000 used vehicles. Additionally, its banner server delivers over 150 million impressions per month. It is using MySQL’s replication functionality and propagating its data from a master server to 50 slaves. All systems run x86 Linux. Moble.de initially tried to set up one of the “big names” as its backend, but had a hard time getting the replication to work. MySQL replication worked flawlessly with very little configuration effort, which greatly influenced its database choice.