Sidebar: When Open Source Isn't Enough
Open-source databases like PostgreSQL, MySQL, and Borland's Interbase have made big strides in recent years. As they've matured, these low-cost packages have grown particularly attractive to Web developers as alternatives to commercial softwarefor which they must pay high licensing fees. Sometimes, however, the least expensive solution just won't cut it. Vendors like Oracle, Sybase, IBM, and Microsoft have each invested heavily in research and development to hone the capabilities of their respective products. As a result, commercial databases typically offer advanced features in areas where open-source alternatives can't compete. For example:
Speed. Improving database performance starts with more powerful processors and faster hard drives, but when speed is absolutely critical, you'll want software options as well. One way some commercial databases bypass the hardware bottleneck is through clustering, which lets several servers share the processing burden for a single data store. Another sophisticated technique is the use of raw file systems, with which the database bypasses the underlying operating system to access disks directly.
Scalability. It's easy to run a single database instance on a single machine with a moderate amount of data. When your needs grow beyond this simple setup, however, you'll need software that can grow with you.
It's not uncommon for enterprises to host databases that are several terabytes in size. Typically, open-source databases handle large amounts of information poorly, sometimes limiting individual records to just a few kilobytes. If you find you need more than a single server, you'll want a database that supports replication, as well. There's no easy way to duplicate an open-source database across several machines and keep the machines synchronized.
Reliability. If you need 100 percent uptime, commercial packages offer the kind of failover solutions that will let you sleep at night. The most advanced systems allow hot standby servers to take over immediately if the primary database server fails. The end user need never know there's a problem. Also, commercial databases allow hot backups, where the information can be archived while the database is still running, and point-in-time recovery, which lets administrators reconstruct the data store exactly as it was immediately before a catastrophe.
Programmability. Though SQL is an industry standard, most database packages expand beyond the basics with advanced query capabilities like outer joins and subselects. Oracle's PL/SQL is one example of such a sophisticated query language, though most vendors provide something comparable. Oracle has recently taken database programming a step further, however, offering native support for Java code inside the database itself.
Support. Most support for open-source software is peer-based, in the form of newsgroups and mailing lists. Despite commercial support for open-source databases, many businesses still prefer the reassurance of a large corporate services department backing their product of choice. In this area, vendors like Oracle or IBM can't be beat. Still others would settle for a decent manual. It won't take more than a quick scan of your local shelves to estimate the number of books written about Oracle, versus those on PostgreSQL. If RTFM is your mantra, it may be worth spending extra dollars for commercial-grade documentation.
Neil McAllister, Web Techniques Technical Editor