This blog was co-authored by Abbas Butt
The research and development team in EnterpriseDB has been working hard in recent months on a solution for XA compatibility. The goal is to make our database, Postgres Plus Advanced Server compatible with the XA standard so it works with commercially available transaction managers. EDB’s Postgres Plus database is an RDBMS that integrates enterprise-class performance, security and manageability enhancements as well as database compatibility for Oracle into community PostgreSQL so global brands can take advantage of the benefits of Postgres.
In a nutshell, the purpose of XA compatibility is to support distributed transactions in a heterogeneous environment. As an XA compatible database, Postgres Plus can participate in a distributed transaction as a resource manager. Before we go into the specifics of the XA standard and architecture, it is imperative to define what we mean by a distributed transaction.
What is a distributed transaction?
A transaction is used to define a logical unit of work that either wholly succeeds or has no effect whatsoever. A distributed transaction is a transaction that involves two or more network hosts. Distributed transactions, like all other transactions, must have all four ACID properties: atomicity, consistency, isolation and durability. Atomicity is what guarantees all-or-nothing outcomes for the unit of work.
The work being performed (within the bounds of a transaction) can occur on different platforms and can involve different databases from different vendors. As a result, a standard has developed to allow a manager process to coordinate and control the behavior of the databases. Read the rest of this entry »Tweet