MaxScale Use Cases
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 MariaDB Replication deployments, MaxScale can be used to:
- Perform query-based load balancing.
- Perform connection-based load balancing.
- 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.
- Automatically retry failed reads.
- Automatically retry failed queries with a delay.
- 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 Galera Cluster deployments, MaxScale can be used to:
- Perform query-based load balancing.
- Perform connection-based load balancing.
- 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.
- Automatically retry failed reads.
- Automatically retry failed queries with a delay.
Multi-Node Enterprise ColumnStore
In Multi-Node Enterprise ColumnStore 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 multi-node deployments.
HTAP
In Hybrid Transactional-Analytical Processing (HTAP) 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.
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.