Primer: Open Source Databases
What Are They?
Open source database management systems provide the same basic functions as commercial databases from companies such as Oracle, but under a licensing model that provides for free downloads and sharing of source code. Exact capabilities and compliance with standards such as the relational database Structured Query Language (SQL) vary from product to product, as do licensing models.
What Are Some Examples?
MySQL has become well known because of its use for Web development, particularly as part of the "platform" known as LAMP (for Linux, Apache, MySQL, and PHP, Python or Perl).
MySQL is backed by a corporation, MySQL AB, that sells support contracts as well as a traditional commercial license for embedded database applications. The open source database is the full-featured version of MySQL's product, not an entry-level subset, with enhancements continually added by an open source community as well as MySQL employees.
PostgreSQL is a more traditional open source project; it is not owned by any one company, although several firms offer support. PostgreSQL is the latest version of the Postgres database developed by Michael Stonebraker at the University of California at Berkeley in the 1980s.
Ingres, which Stonebraker created in the 1970s during an earlier stint at UC Berkeley, existed as a commercial product in the '80s and '90s, but was released as open source in 2004 when it was owned by CA. Earlier this year, a new company, Ingres Corp., was formed to support the database.
How Good Are They?
There will probably always be some advanced features in commercial databases such as Oracle that don't exist in their open source counterparts. But there are also many applications that don't need those features. For corporate deployments, obstacles to using an open source database tend to center on a lack of familiarity and concerns about support.
Open source databases are good enough for the majority of corporate applications that don't manage multiple terabytes of data, says Troy Conner, an independent consultant in the Washington, D.C., area who primarily works with Oracle databases. "To me, the choices are Oracle or open sourcenothing in between," he says. He favors PostgreSQL as an open source alternative that is architecturally similar to Oracle.
The rap against MySQL used to be that it didn't support transaction processinga standard database feature that guarantees that operations such as deducting money from one account and adding it to another are performed in a consistent fashion. But MySQL allows a database to be configured with one of several "pluggable" storage engines; recent editions include a transactional storage engine called InnoDB.
On the other hand, more than 50% of MySQL customers say their applications don't require transaction processing, and they value a database that allows that feature to be turned off, says Robin Schumacher, MySQL AB's product management director.
Will I Save Money?
The answer should be yes, but research firm Gartner contends that the total cost of ownership for an open source database can actually be higher than for a commercial one. While an open source database is perfect for developing an application with little or no budget, adding it to a corporate data center can be disruptive because of the lack of staff knowledge and support in systems management tools, says Gartner analyst Donald Feinberg: "You end up using more people resources to manage it."