Unlocking the multi-master database dream

Unlocking the multi-master database dream

Modern applications are complex. As ‘simplified’ as we’re continuing to make software application development through advances in low-code & no-code platforms alongside all forms of automation, front-line enterprise apps are still becoming increasingly heavyweight beasts. 

Applications today must be always on, always available in terms of uptime, always integrated, always updated, always API-call-able, always connected (and able to function as if they were connected in grey patches where coverage drops out) and always capable of serving a global user base with high expectations for response times.

Cloud providers make it possible to deploy application and presentation logic at locations around the world, yet database architectures are mostly monolithic and tethered to a single cloud region. This is the opinion of Phillip Merrick, co-founder and CEO of pgEdge, a man who has previously held C-suite and co-founder roles at the likes of webMethods, EDB, SparkPost and Fugue.

Distant users, unfortunate losers

Thinking about where that puts us today in enterprise application deployment scenarios, Merrick suggests that these factors coalesce to result in applications that suffer from slow response times for users that are physically distant from where the database is located.  

“For instance, a European user of an e-commerce or SaaS application hosted on the US East Coast may see page load times several seconds longer than those seen by users in the eastern half of the US,” said. Merrick. “This has a significant impact on customer satisfaction, causing customer churn and lost sales. Additionally, applications built on a monolithic database will be unavailable when the cloud region where they are hosted goes down.”

He reminds us that most databases and cloud providers provide the ability to failover to a read replica hosted at a nearby redundant datacentre, called an availability zone. However, this doesn’t help when an entire cloud region goes offline (as has happened with both AWS and Google Cloud) and architecting an application to be multi-region is difficult. Furthermore, it is difficult or impossible to perform software upgrades without taking the application offline.

What is a multi-master database?

“For some years fully distributed relational database systems have been available that address these challenges head on. In the database industry, we refer to them as ‘multi-master” or ”active-active’ databases, handling both read and write traffic across multiple database nodes. These nodes can be geographically distributed around the global network, running in different cloud regions. Until recently however multi-master database systems have been proprietary, with high licensing costs… and have not been available as open solutions,” explained Merrick.

The theory here is simple enough for us to grasp – or at least it should be – by placing database copies closer to where users are located, the time taken to service each request can drop dramatically, regardless of the user’s location. 

The ultra-high availability dream

Merrick points to this active-active multi-master reality and says that, when deployed in the form described here, users can experience page load times that are uniformly low, improving the overall user experience.

It also becomes much easier to support ultra-high availability, guarding against region-wide cloud outages. He explains that if a node becomes unavailable (for whatever reason), then traffic can be simply rerouted to the surviving nodes. This additionally allows for ‘zero downtime maintenance”, where software upgrades can be performed on a rolling basis across the nodes.

“Some fully distributed database products provide a further benefit: the ability to address data residency requirements. In certain jurisdictions around the world (e.g. Europe) regulatory requirements or customer preferences require that data generated in a certain country or region must remain in that country or region. With the capability to selectively replicate some data globally while keeping local data local, a fully distributed database makes it possible to meet data residency needs while still running a global application,” concluded pgEdge’s Merrick.

Where this technology is deployed successfully, fully-distributed multi-master database is argued to tackle the challenges of modern global applications – low latency, ultra-high availability and data residency – and, adds Merrick, by doing so, this (he argues) drives increased customer satisfaction, higher sales and greater organisational resiliency.

Image credit: pgEdge