Postgresql、MySQL、Firebird、および Ingres という、この種のアプリケーションに適していると思われる、注目すべき 4 つの主要なオープンソース リレーショナル データベース管理システムがあります。SQLiteなどの他のシステムもありますが、このタイプのアーキテクチャはなく、実際にはこのタイプのワークロード用に設計されていません。このタイプのオープンソースのデータベース管理システムは他にもいくつか存在しますが、明らかなベンダーの関与がないなど、何らかの理由で強力に実行できるようには見えません。このタイプの問題があるシステムの例は、SAP-DB です。
Postgresqlは、オープンソース データベースの中で最高の機能セットを備えており、アプリケーションが 3 層システムであり、複雑なトランザクションをサポートしている場合は、XA トランザクションをサポートする必要があります。特に、データベースへの複数の呼び出しにまたがるトランザクションを実行したい場合に、これが必要になります。
Illustra、 Greenplum、EnterpriseDBなど、PostgreSQL のいくつかの商用バリアントが長年にわたって構築されてきました。 Illustra は PostgreSQL の商用リリースで、その後 Informix に買収されました。Greenplum は、データ ウェアハウジング アプリケーション用に設計された変更バージョンです。EnterpriseDB は、サポートされている商用バージョンの PostgreSQL といくつかの付加価値ソフトウェアを提供する会社です。
MySQL 5.x には合理的な機能の断面をサポートする機能セットがありますが、PostgreSQL ほど機能が豊富ではありません。それはより広く主流に受け入れられており、熟練した開発者を募集するオープンソースのデータベース管理システムの中で最も簡単です. 古いバージョンには堅牢なトランザクション サポートがありませんでしたが、InnoDBなどのトランザクション ストレージ エンジンはしばらくの間利用可能でした。Sun による買収をめぐる現在の 政治は コード フォークを生成し、MySQL の状況はいくぶん混乱しており、5.1 リリースの品質問題について論争が起こっています。 ただし、MySQL は、オープンソース データベース管理システムの中で群を抜いて最も人気があり、最もよく知られているシステムであり、オープンソース サークルの外で大きなブランド認知度を持つ唯一のシステムです。
Firebirdは、Interbase のオープン ソース バージョンです。最後に調べたところ、XA サポートはありませんでしたが、アプリケーションが 2 層のクライアント/サーバー システムとしてセットアップされていれば問題ありませんでした。 更新:これに関する決定的な仕様は見つかりませんが、ドキュメントには 2 フェーズ コミットがサポートされていることが示されていますが、XA プロトコルがサポートされているかどうかは特定できませんでした。ドキュメントは、JDBC ドライバーが 2 フェーズ コミットをサポートしていることを暗示しています。
このシステムの興味深い変種はFyracleで、Oracle とのある程度の互換性を提供するように設計されています。これはもともとCompiereのバックエンドとして使用するために開発されたもので、Oracle に対して構築され、非常に緊密に結合されていました。
Ingresはオープンソース ライセンスで利用できるようになりましたが、オープンソース コミュニティからはちょっとしたあくびが出てきました。ただし、機能が豊富で非常に成熟しています。1990 年に INGRES アプリを作成していた人を知っていますが、その歴史は 1980 年代にさかのぼります。