What we do · Data and web
Clustered databases with Percona XtraDB Cluster

Your application talks to one database, but behind it sit three synchronous copies, each on separate hardware. A committed write exists on every node before your application hears "OK", so losing a server, patching it or rebooting it is routine work, not an outage.
What it is
Percona XtraDB Cluster is MySQL compatible and built on Galera synchronous replication. Your WordPress, Magento, PrestaShop, Laravel or custom PHP application keeps speaking plain MySQL. What changes is underneath: there is no single database server left whose failure takes the whole site with it.
We pair the cluster with ProxySQL, which sends writes to one elected node and spreads reads across all of them. The application needs no changes and no knowledge of the topology.
How we build it
- Three nodes, three failure domains. Each node runs on its own blade or virtual machine, and where the platform allows it, each one boots from and stores its data on a different storage array. A host failure or an array failure costs one replica, never the quorum.
- ProxySQL as a local sidecar on every web node. There is no shared database load balancer to become the next single point of failure. ProxySQL's Galera aware health monitor tracks the cluster state, and if the writer drops it promotes a new one in seconds.
- Causal reads for editors. We enable synchronous read checks so that an editor who saves on one node and reloads from another always sees their own change. No "my article vanished" tickets.
- Room to rejoin. The write set cache is sized so a node can be offline for hours of maintenance and rejoin incrementally, instead of copying the whole dataset back.
- Backups every thirty minutes. Percona XtraBackup takes hot, consistent physical backups, which are compressed and pulled to a separate backup host. The production side never pushes to backup infrastructure.
- Watched continuously. Every node is in Percona Monitoring and Management.
On OpenShift, the same rules apply
When the database runs on OpenShift or OKD, it runs as a StatefulSet with hard anti-affinity across chassis and a PodDisruptionBudget that keeps quorum intact. A rolling node reboot from a platform update can then never take more than one database member down at once. That is the design standard we build to on every container platform, not an optional extra.
What it protects you from
- The classic outage: the whole site is down because the one MySQL server is down.
- Deadlock storms from writing to every node at once, which naive round robin setups produce under WordPress and e-commerce plugin load.
- Editors losing a save because their next read hit a node that had not applied it yet.
- Maintenance windows for kernel updates, database patches and hardware work.
- A storage array or a chassis taking the database down with it.
- A Kubernetes rolling update quietly breaking quorum.
In practice
An analytics platform. For a customer's analytics and transactional platform we built the transactional tier on Percona XtraDB Cluster with ProxySQL and a floating address. Before handover we removed the writer on purpose; ProxySQL moved writes to a surviving node and the application carried on.
Why EuroVPS
- We design the failure domains, not just the cluster: different hosts, different arrays, different chassis.
- No shared database proxy in the middle. Every web node routes its own queries.
- Backups are physical, frequent and pulled by the backup side, never pushed from production.
- We test failover before handover, with the customer's application running against it.
- The same discipline on virtual machines, bare metal and OpenShift.
FAQ
Do we have to change our application? No. ProxySQL presents a normal MySQL endpoint. Applications that write to non transactional tables or rely on unusual locking get reviewed with you first.
Is it MySQL or MariaDB compatible? Percona XtraDB Cluster is a MySQL compatible server. We migrate MySQL and MariaDB databases onto it and check character sets, authentication plugins and SQL modes during the move.
Does three node synchronous replication make writes slower? Each commit waits for the other nodes to certify it, so latency between nodes matters. That is why all members sit on the same low latency fabric in one datacenter, with off site copies handled by asynchronous replicas.
Can we run it inside OpenShift? Yes, as a StatefulSet with anti-affinity across chassis and a PodDisruptionBudget, which is our standard for any quorum based database on Kubernetes.
What happens during a node failure? The surviving nodes keep quorum and keep serving. ProxySQL routes around the missing node, and when it returns it catches up incrementally.
Want a database that shrugs off a lost server? Talk to an engineer.
Your next infrastructure partner
Let’s look at
your setup.
Tell us what you run today and what needs to improve. An engineer will review your brief and help you plan the next step.
+357 222 32280
who will look after your infrastructure.
Let’s start with your setup.
A little context helps us start the right conversation.
