Open Source Database Management Systems
LAMP architectures will be used for certain database applications and systems that meet a specific set of criteria. The acronym LAMP is commonly used as a shortcut to specify the most popular open source software. LAMP stands for Linux, Apache Web server, MySQL database and the PHP/Python/Perl development languages. It is a collective of open source software that can be used to deploy applications with minimal cost, which is the intriguing part to most of its adopters.
The "no cost" aspect of open source and LAMP is both a positive and a negative. It is positive for the obvious reasons; I mean, no one wants to spend money for something if they can avoid it, right? Of course, the "no cost" label only applies to the initial acquisition cost of the software, and then only maybe. Red Hat, MySQL and others sell distributions of the software to make implementation and management easier. Additionally, support is crucial. Do you really want to implement a mission-critical application on free LAMP software and then not have anyone to turn to if problems occur? In other words, who will support the software when you have issues? Companies exist that sell this support. But now if we are buying the software and support to go along with it, how much different is it than commercial software?
At any rate, open source and LAMP will succeed for those projects that could not be cost-justified or are not affordable with commercial OS/DBMS/Web server software. As the projects gain acceptance in the company, additional support can be purchased to ensure the viability of the applications.
But where are the limits of open source? I would not predict that a major insurance company, for example, would choose to implement its policy and customer system on "open source"/LAMP technologies. Such mission critical applications require the robust functionality and durability of commercial DBMS software.
So, will open source databases ever become popular enough to strongly compete against Microsoft, Oracle and IBM for the database consumer's dollar? I don't think so. Open source DBMS software will be used in conjunction with the major enterprise DBMSs and in SMBs that cannot cost-justify an enterprise DBMS.
Interestingly, I think open source database technology will face some problems in the near-term future. The major open source DBMS products (MySQL, Firebird, PostgreSQL and Sleepycat/Berkeley DB) are mostly simpler to use than enterprise DBMS products because they do not have all the bells and whistles of the enterprise software. Over time, these are being added to the open source players. Triggers, stored procedures, integrity constraints and so on will make the open source DBMS products more complex to use, and, therefore, smaller organizations will have more difficulty deploying them rapidly. The software may be moving away from its sweet spot in terms of how and when it is implemented.
A few interesting twists have visited the open source DBMS market recently. One is the relatively recent entry of Computer Associates to the game. In May 2004 CA announced that the release of its Ingres relational DBMS product into the open source community. Ingres was released under the CA Trusted Open Source License (CA-TOSL). Under the CA-TOSL, independent software vendors can incorporate Ingres into their products as long as the Ingres source code is provided with the product. CA will offer support and indemnification as added-cost options to the CA-TOSL Ingres.
This move by CA gives open source developers another database option. This is good news for developers, but the open source DBMS market is already somewhat crowded with MySQL, PostgreSQL, Firebird and Sleepycat Berkeley DB. Furthermore, PostgreSQL grew out of the original Ingres DBMS, so now we have both Ingres and PostgreSQL available as open source software. Perhaps the growing acceptance of open source (and PostgreSQL) in the market place helped to force CA's hand in turning over Ingres to the open source community.
Another recent happening in the open source DBMS market happened in late May 2005. That is when a new company named EnterpriseDB Corp. announced the availability of its flagship open source DBMS product, called EnterpriseDB 2005. Basically, EnterpriseDB 2005 is based on the PostgreSQL open source DBMS. EnterpriseDB 2005 is available immediately in beta. During the beta period the company will offer commercial quality technical support. When the DBMS becomes generally available EnterpriseDB Corp. will provide tiered technical support offerings to its customers.
Actually, EnterpriseDB is more than just a DBMS. The product consists of the Database Server, EDB Studio (a graphical console for interfacing with the DBMS), and EDB Connectors (to provide access from JDBC, ODBC, .Net, ESQL/C++, PHP, Perl and Python). Furthermore, the company has taken steps to add Oracle compatibility to the database engine to simplify conversion of Oracle applications.
The company is positioning itself as offering the enterprise class open source DBMS. The unquestioned leader in open source DBMS is MySQL, but it lacks some features and capabilities that EnterpriseDB offers (for example, BLOBs, triggers, UDFs, and views).
EnterpriseDB Corp. offers an interesting proposition, but it has been tried before. Anyone remember Great Bridge? A few years ago Great Bridge formed and tried to duplicate for PostgreSQL what Red Hat did for Linux. They failed. But perhaps the time was not ripe for such an offering.
At any rate, EnterpriseDB has an uphill battle to fight. Not only must they compete with the Big Three (DB2, SQL Server, and Oracle), but they also have to contend with MySQL, which currently has the lead in the open source DBMS market.
The bottom line is that there is a wealth of options if you are interested in using an open source DBMS product. But know what your needs are and what features are available in the open source DBMS products before diving headfirst into the open source waters.
As a final note, please take a moment to participate in dbazine's most recent poll on open source database technology.


