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 database products support several different high availability solutions.
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.
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 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.
MariaDB Xpand supports multiple topologies. MariaDB products can be deployed in many different topologies. The topology on this page is representative. MariaDB products can be deployed to form other topologies, leverage advanced product capabilities, or combine the capabilities of multiple topologies.
For additional information, see "MariaDB Xpand Topology".
Automatic Failover with MaxScale
MariaDB MaxScale augments HA solutions, providing additional automatic failover capabilities. The specific capabilities depend on the high availability solution that is used:
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 Read/Write Split Router (readwritesplit) includes several configurable features to minimize the impact of failover on client connections:
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:
Deploy MariaDB Community Server with HA
Choose an HA solution to deploy for MariaDB Community Server: