Postgres-XC is a write-scalable synchronous multi-master PostgreSQL cluster with the following features. 1) Both read and write scalability. 2) Configured with more than one server. 3) Complete global transaction and visibility management.
- Read/Write Scalability
- Symmetric (multi-master, synchronous) cluster
- Transaction management and consistent tuple visibility
- Parallel transaction execution among cluster nodes
Parallel execution is insufficient for some use cases. It leads to deadlock which the application needs to handle. For a legacy application without that handling, the choice of serial execution avoids deadlock. This is exactly the problem I had using HA-JDBC and MariaDB+Galera with parallel execution, but HA-JDBC offered serial write execution as a fallback. I was able to migrate to HA-JDBC right away using serial execution, and I am working towards adding application handling so I can take advantage of HA-JDBC parallel execution for the same write amplification being touted for PosgresXC. If PostgresXC offered the choice of parallel or serial execution, I would love to switch from HA-JDBC.