A Quick Look at the Open Source DBMS Market

The continuing acceptance and growing usage of Linux as an enterprise computing platform has enlivened the open source community. The term "open source" refers to software that users are free to run, copy, distribute, study, change, and improve. Often "open source" gets misinterpreted to mean free software. This is understandable, but the open source concept of free is closer to liberty than it is to no charge.

Generally speaking, open source software will adhere to the following beliefs: Users are free to run the program, for any purpose; they are free to inspect the actual source code of the program to determine how it works; they are free to modify and adapt the software to their specific needs; they are free to redistribute copies to whomever; and they are also free to release code improvements to the public, to benefit the whole community.

Open source is not limited to Linux. LAMP solutions are frequently deployed for database applications and systems that meet certain criteria. The acronym LAMP is commonly used as a shortcut to specify the most popular open source software: Linux, Apache Web server, MySQL DBMS, 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 reason; 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 their software to make implementation and management easier.

Ongoing support is crucial. Most organizations do not want to implement mission-critical software with no recourse should problems occur. In other words, support is required for enterprise software when your organization encounters problems. There are companies that sell this support for open source software. But if you buy the software and the support to go along with it, how much different is this than commercial software? Well, a bit (see second paragraph again), but not as much as some think.

There are limits to open source adoption. For example, not many major insurance companies would choose to implement their policy or customer system using open source software. Typically, mission-critical applications like these require the robust functionality and durability of commercial systems software. This is slowly changing as organizations adopt the Linux operating system for some "mission-critical" applications. It will take longer for open source DBMS products to gain a similar reputation and implementation, though. Today, most open source DBMS software is deployed in conjunction with the major enterprise DBMSs (Oracle, DB2, and SQL Server) or in SMBs that cannot cost-justify an enterprise DBMS.

I think open source database technology is in an awkward phase of its lifecycle today. Typically, open source DBMS products - MySQL, Firebird, PostgreSQL, and Berkeley DB - are simpler to use than enterprise DBMS products because they do not have all the bells and whistles of enterprise software. Over time, though, features are being added to the open source players. Triggers, stored procedures, integrity constraints, and so on cause the open source DBMS products to become more complex to use. But their simplicity and easy-to-use reputation is what endeared them to smaller organizations and quick-and-dirty applications. As the open source DBMS moves away from its initial sweet spot in terms of how and when it is implemented, growing pains could ensue.

Another issue being faced by the open source DBMS world is Oracle's acquisitive ways. Of the four DBMS products mentioned above, two, Berkeley DB and now MySQL, are owned by Oracle. What will the future of open source DBMS hold if the major players are gobbled up by the commercial DBMS companies?

A dark horse in the open source DBMS market is Ingres, which began its life as a commercial product. Ingres was open sourced by CA (its previous owner) in May 2004. Somewhat different than other open source DBMS offerings, Ingres' heritage enables it to deliver high-volume transaction processing, high availability, multiplatform support, and security for mission-critical application deployments. In other words, it already has the bells and whistles of a commercial DBMS because it was one for years.

And it is impossible to cover the open source DBMS market without discussing EnterpriseDB. Basically, EnterpriseDB is to open source DBMS (PostgreSQL) as Red Hat is to open source operating systems (Linux). EnterpriseDB offers subscription plans and support for the PostgreSQL DBMS. The company has earned a reputation for offering Oracle compatibility, touting the ability of its customers to replace the Oracle DBMS with PostgreSQL and not have to change its application code. Even IBM licensed some of EnterpriseDB's Oracle compatibility functionality for its latest version of DB2.

The bottom line is that there is a wealth of options if you are interested in using an open source DBMS. 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.