FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Architecture & Design
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
November 12, 2002
Free Enterprise

Building business apps on open source databases

(Page 1 of 3)
Neil McAllister
Watch out, Oracle! The software may be free, but modern open source databases definitely mean business.
Would you trust your mission-critical applications to an open source database? Free software packages like MySQL and PostgreSQL have enjoyed widespread adoption among application developers. But when asked if they would back their enterprise applications with one of these databases around the clock in a production environment, those same developers are often hesitant.

The question isn't whether the open source development process is capable of producing quality products. Anyone who's installed Linux can tell you that it does—and according to Gartner, around 80 percent of its clients have deployed Linux somewhere in their organizations. Software that's available for no cost is always going to be compelling to budget-conscious enterprises, and there are plenty of other reasons to adopt open source software beyond the bottom line.

But just because the open source movement has produced a popular operating system doesn't necessarily mean it can deliver the goods when it comes to relational databases. "An operating system, by its very nature, doesn't have to be very reliable," said Oracle CEO Larry Ellison, speaking at last year's Oracle OpenWorld conference in San Francisco. "If you reboot the system, you reboot the system—big deal. With a database losing data, you get some very upset people, even if you only lose data a couple times a year. People are completely intolerant of database failure. It's the only piece of software I know that's never allowed to fail."

To the veteran Oracle, DB2, or SQL Server developer, there might be no valid reason to risk data with open source. On the other hand, developers who have successfully deployed high-volume applications on MySQL or PostgreSQL will often denounce big, commercial databases as needless money sinks. Finding the middle ground between these extremes and separating the hype from the reality can be daunting tasks for any technology manager.

Success Stories

First, it's important to set aside the notion that open source databases are merely toys or teaching tools, suitable only for hobbyists. It's true that most database management systems began life as research projects. But like their commercial cousins, the open source packages have since matured into full-fledged applications, engineered with real-world use in mind.

By far the most popular is MySQL, which boasts four million installations worldwide. "We are definitely a real RDBMS," says Marten Mickos, CEO of MySQL AB, the primary developer of MySQL. "We sometimes get criticized for not having this feature or that feature that most other databases have. But we think our enormous installed base speaks for itself."

Mickos makes no bones about how he views the competition. "We believe we could replace about 30 percent of Oracle installations in any given corporation," he says. "Yahoo and NASA are examples of where such a process is happening. NASA saved half a million dollars by migrating one application...to MySQL."

Though MySQL is highly effective for Web sites, many experienced DBAs feel its spare feature set is insufficient for serious application-level database work. To these experts, the real contender for Oracle's core business is PostgreSQL, a package with rich capabilities that are on par with commercial systems in many areas.

Product evangelist Justin Clift explains how PostgreSQL has matured in recent years. "We used to have this reputation, a couple of years ago, of having an interesting feature set, but crappy code. Some of the senior guys said, 'No, this isn't right.' They very much cleaned up the code base. So now we have a reputation of being very solid." Again, the immediate advantage is cost.

"Even if you decide that you need to use a more 'trusted' environment like Oracle or DB2, PostgreSQL can still be used to augment queries against static data," explains Mark Woodward, a developer with Mohawk Software. "[At one company], my predecessor chose Oracle. While a lot of our application was dedicated to Oracle, I was able to move a great deal of periodically updated information off the Oracle system and onto a set of PostgreSQL boxes. This one move saved the company tens of thousands of dollars in Oracle license fees."

1 | 2 | 3 Next Page
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK