MaxScale Use Cases
This page is part of MariaDB's Documentation.
The parent of this page is: MariaDB MaxScale Architecture
Topics on this page:
Overview
MariaDB MaxScale is a database proxy that extends the high availability, scalability, and security of MariaDB Server while at the same time simplifying application development by decoupling it from underlying database infrastructure.
Term Definitions
Term | Definition |
---|---|
Database Proxy | A server that acts as an intermediary between the client and the database servers, so that the client is not affected by server failures and topology changes. |
Load balancing | The act of sending queries to different database servers, so that a single database server does not have to handle all of the load. |
Failover | The act of configuring a new server to be the primary server when the existing primary fails. |
Switchover | The act of configuring a new server to be the primary server when the operator wants to perform maintenance on the existing primary. |
Causal Consistency | The act of ensuring that interdependent operations maintain consistency by performing the interdependent operations in the same order on all servers. |
Causal Reads | The act of ensuring causal consistency for read queries by ensuring that all previously committed write queries are applied prior to executing the read query. |
When to Use MaxScale
MaxScale is used for different purposes in different kinds of deployments.
MariaDB Replication
In
deployments, MaxScale can be used to:Perform automatic failover to a new primary when the existing primary fails.
Perform manual switchover to a new primary to perform maintenance on the existing primary.
Automatically reconnect clients to the new primary after failover or switchover.
Automatically replay transactions on the new primary after failover or switchover.
Enforce causal reads to avoid reading stale data caused by slave lag.
Mitigates effect of primary failure by acting as a Binlog Server.
Filter binary logs for replicas, so that events can be matched, excluded, or rewritten to affect a different database.
Galera Cluster
In
deployments, MaxScale can be used to:Automatically reconnect clients to the new primary node after the existing primary node node fails.
Automatically replay transactions on the new primary node after the existing primary node fails.
Multi-Node Enterprise ColumnStore
In
deployments, MaxScale can be used to:Perform query-based load balancing in multi-node deployments.
Perform connection-based load balancing in multi-node deployments.
Perform automatic failover in multi-node
deployments.Perform cluster management operations in
deployments.
HTAP
In
deployments, MaxScale can be used to:Receive binary logs containing transactional data.
Filter binary logs, so that events containing transactional data can be duplicated against the analytical ColumnStore databases.