High availability (HA) databases for cloud services

What's that about?

HA is set of service qualities that is usually measured in downtime - the lower the better. Fault tolerance, transparent maintenance, data and operational security are important targets in order to keep downtime low. No single point of failure is acceptable which implies some sort of redundancy in all revelvant components. Well-known examples are the GPS system or the Internet Domain Name System.

Relational databases (RDBMS) in general are among the few components where reliable HA implementations are yet to be established. An RDBMS should provide transaction safety even in concurrent data update scenarios (OLTP - online transaction processing). Simply put, redundancy and data consistency have a time component: transient data inconsistencies will necessarily occur and must be controlled.

NoSQL databases for "big data" are designed with HA in mind. However they do not attempt to provide for atomicity, consistency, isolation and durability (ACID) required by OLTP applications.

Apparently there is no "one size fits all" solution. Several additional requirements should be taken into consideration: performance (caching, load balancing, latency, transaction density, etc.), conflict resolution strategy (concurrent updates), recovery (backup and restore) strategy, network architecture, application layering, etc.

Our services

We support a number of RDMBS in the cloud and offer DaaS (Database as a service) for OLTP web application providers, e.g. for eCommerce. In the open source world PostgreSQL and MySQL are the typical choices. We offer product services of major proprietary databases as well. Some of those with limited feature-set are available without a licence fee.

Regarding HA there is still a tradeoff between expected down-time and costs / usability. pgpool-II is a reliable open source middleware for distributed PostgreSQL databases offering connection pooling, master-slave replication, parallel query, and load balancing.

Postgres-XC is one of the most promising open source HA database alternative. Though not yet mature for mission-critical applications, it supports multi-master, symmetric replication.