High Availability
Topics on This Page:
Enterprise applications often require the ability to run continuously for extended periods of time with little or no user-facing downtime.
High Availability Solutions
MariaDB Platform X5 supports several different high availability solutions.
MariaDB Replication
MariaDB Replication supports high availability.
Replica servers replicate data from a primary server asynchronously or semi-synchronously using binary logs. Upon primary server failure, a replica server can be promoted to a primary server.
Galera Cluster
Galera Cluster supports high availability.
Cluster nodes replicate data using certification-based replication implemented by the Galera 3 or Galera 4 plugin, depending on the version of MariaDB. Upon node failure, the cluster automatically recovers, as long as remaining nodes have quorum.
MariaDB Enterprise ColumnStore
MariaDB Enterprise ColumnStore supports high availability in multi-node deployments.
ColumnStore nodes share data using shared storage. Upon node failure, shared storage can still be accessed by remaining nodes.
MariaDB Xpand
MariaDB Xpand supports high availability.
Xpand divides tables and indexes into slices, and it distributes those slices among all the nodes. Xpand maintains replicas of each slice, so that it can recover from a node failure without loss of data.
It is available in two topologies:
MariaDB Xpand Performance topology delivers maximum throughput and lowest latency.
Xpand Storage Engine topology leverages Xpand's benefits and maximize compatibility with MariaDB Enterprise Server (ES). It allows Xpand users to leverage ES features like window functions, CTEs, and cross-engine JOINs.
For additional information, see "MariaDB Xpand Topologies".
Automatic Failover with MaxScale
MariaDB MaxScale augments MariaDB Platform's HA solutions with additional automatic failover capabilities. The specific capabilities depend on the high availability solution that is used:
HA Solution |
Description |
---|---|
MaxScale's MariaDB Monitor (mariadbmon) detects primary server failure and promotes the most up-to-date replica based on Global Transaction ID (GTID), waits for that replica to execute any transactions in its relay log, and begins routing queries to it. |
|
MaxScale's Galera Monitor (galeramon) is used to minimize application impact upon server failure. Additionally, MaxScale may be used to assign primary and replica roles to database instances within a cluster to support read/write traffic splitting and to minimize the risk of certification failures. |
|
MaxScale's MariaDB Monitor (mariadbmon) determines which node is the primary server, and automatically performs failover upon primary server failure. |
|
MaxScale's Xpand Monitor ( |
|
MaxScale's MariaDB Monitor (mariadbmon) determine which node is the primary server, and automatically performs failover upon primary server failure. |
MaxScale's Read/Write Split Router (readwritesplit) includes several configurable features to minimize the impact of failover on client connections:
Feature |
Description |
Replaces back-end server connections to a failed server with connections to a different server, rather than closing the connections. |
|
Ensures the execution of prior transactions before additional queries are routed to different Servers, instead of closing the connection and requiring the application to roll the transaction back and retry. |
|
Ensures all servers handling traffic for a connection have the same session system variables, user-defined variables, etc. |
|
Allows MaxScale to route incomplete queries to a different replica rather than returning an error or closing the client connection. |
|
Allows MaxScale to delay and retry write queries received after a primary fails and before automatic failover completes, rather than returning an error or closing the client connection |
Deploy MariaDB Enterprise Server with HA
Choose an HA solution to deploy for MariaDB Enterprise Server:
HA Solution |
ES Deployment |
MaxScale Deployment |
|
||
Deploy MariaDB Xpand
MariaDB Xpand provides distributed SQL, high availability, fault tolerance, write scaling, and horizontal scale-out for transactional workloads. It is available in a standalone topology and in a topology with MariaDB Enterprise Server using the Xpand storage engine. Both topologies support high availability.
To deploy MariaDB Xpand, choose a topology:
Topology |
Description |
---|---|
|
|
|
For additional information, see "MariaDB Xpand Topologies" and "Deploy Xpand 5.3".
Deploy MariaDB Community Server with HA
Choose an HA solution to deploy for MariaDB Community Server:
HA Solution |
ES Deployment |
MaxScale Deployment |