 <p>There are four main open-source relational database management systems of note that might be appropriate to this sort of application: Postgresql, MySQL, Firebird and Ingres. There are other systems such as <a href="http://www.sqlite.org/" rel="nofollow noreferrer">SQLite,</a> but they do not have this type of architecture and are not really designed for this type of workload. Some other open-source database management systems of this type do exist, but do not appear to be strongly viable for some reason, such as a lack of apparent vendor commitment. An example of a system that has this type of issue is <a href="http://en.wikipedia.org/wiki/MaxDB" rel="nofollow noreferrer">SAP-DB.</a></p> <p><a href="http://www.postgresql.org/" rel="nofollow noreferrer">Postgresql</a> has the best feature set of any of the open-source databases, and support for XA transactions, which you will probably want if your application is a three-tier system and supports transactions of non-trivial complexity. In particular you will want this if you want to do transactions spanning more than one call to the database.</p> <p>Several commercial variants of PostgreSQL have been built over the years, such as <a href="http://en.wikipedia.org/wiki/Illustra" rel="nofollow noreferrer">Illustra,</a> <a href="http://www.greenplum.com/" rel="nofollow noreferrer">Greenplum</a> and <a href="http://www.enterprisedb.com/" rel="nofollow noreferrer">EnterpriseDB.</a> Illustra was a commercial release of PostgreSQL which was subsequently bought by Informix. Greenplum is a mofified version designed for data warehousing applications. EnterpriseDB is a company that provides supported commercial versions of PostgreSQL with some value-added software.</p> <p><a href="http://www.mysql.com/" rel="nofollow noreferrer">MySQL</a> 5.x has a feature set that supports a reasonable cross section of capabilities, but it is not as feature-rich as PostgreSQL. It has more widespread mainstream acceptance and would be the easiest of the open-source database management systems to recruit skilled developers for. Although older versions did not have robust transaction support, transactional storage engines such as <a href="http://www.innodb.com/" rel="nofollow noreferrer">InnoDB</a> have been available for some time. The <a href="http://www.oracle.com/corporate/press/2005_oct/inno.html" rel="nofollow noreferrer">current</a> <a href="http://www.oracle.com/corporate/press/2006_feb/sleepycat.html" rel="nofollow noreferrer">politics</a> <a href="http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html" rel="nofollow noreferrer">surrounding</a> the acquisition by Sun have generated <a href="http://news.oreilly.com/2008/07/mysql-forks-could-drizzle-be-t.html" rel="nofollow noreferrer">code forks</a> and the MySQL landscape is <a href="http://ronaldbradford.com/blog/understanding-the-various-mysql-products-variants-2009-03-13/" rel="nofollow noreferrer">somewhat messy,</a> with controversy about <a href="http://monty-says.blogspot.com/2008/11/oops-we-did-it-again-mysql-51-released.html" rel="nofollow noreferrer">quality issues in the 5.1 release.</a> However, MySQL is by far the most popular and best known of the open-source database management systems and is the only one with significant brand recognition outside of open-source circles.</p> <p><a href="http://www.firebirdsql.org/" rel="nofollow noreferrer">Firebird</a> is an open-source version of Interbase. Last I looked, it did not have XA support but would be fine if your application was set up as a two-tier client-server system. <strong>Update:</strong> I can't find a definitive specification on this, but the documentation does indicate that it has support for two-phase commit, but what I could find was not specific on whether it supported the XA protocol. The documentation implies that the JDBC driver does have support for two-phase commits. </p> <p>An interesting variant on this system is <a href="http://www.janus-software.com/fb_fyracle.html" rel="nofollow noreferrer">Fyracle</a>, which is designed to offer a degree of compatibility with Oracle. This was originally developed for use as a back-end to <a href="http://www.compiere.com/" rel="nofollow noreferrer">Compiere</a>, which was built against Oracle and quite tightly coupled to it.</p> <p><a href="http://www.ingres.com/" rel="nofollow noreferrer">Ingres</a> is now available with an open-source license, but has been greeted with a bit of a collective yawn by the open-source community. However It is quite feature-rich and very mature - I know people who were doing INGRES apps in 1990, and it dates back to the 1980s. </p>