MariaDB MaxScale

The world's most advanced database proxy

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.

MariaDB MaxScale is engineered with an extensible architecture to support plugins, extending its functionality beyond transparent load balancing to become, for example, a database firewall. With built-in plugins for multiple routers, filters and protocols, MariaDB MaxScale can be configured to forward database requests and modify database responses based on business and technical requirements — for example, to mask sensitive data or scale reads.

Why MariaDB MaxScale?

Firewall

MariaDB MaxScale includes a database firewall filter to block queries based on the rules configured — for example, based on the statement type, the functions used, the columns selected or the frequency of queries. MariaDB MaxScale 2.1 extends filtering to prepared statements.

Denial of service protection

MariaDB MaxScale 2.1 introduces a result set limiting plugin to prevent queries, prepared statements and stored procedures from causing a denial of service, intentional or not, by returning too much data. The maximum result set size can be configured in rows or bytes.

Data masking

MariaDB MaxScale 2.1 introduces a data masking filter to protect sensitive data by inspecting query results and obfuscating the data in specific columns based on the rules configured. When combined with the database firewall filter, access to sensitive data can be restricted.

Bulk insert streaming

MariaDB MaxScale 2.1 introduces a filter for bulk insert streaming, converting all of the inserts within an explicit transaction into a single CSV data stream for direct loading with greater efficiency, improving performance and reducing network traffic.

Read-write splitting

MariaDB MaxScale includes a router to split reads and writes when multi-master clustering or master/slave replication is configured, while writes are executed a single master node and reads are executed on multiple slave modes — and it can be done without modifying the application.

Change-data-capture

MariaDB MaxScale includes a change-data-capture protocol that, when combined with the Avro router, reads binary log events and streams them to clients where the data can be consumed as Avro objects or JSON documents — for example, with the included CDC client and Kafka producer.

Schema-based sharding

MariaDB MaxScale includes a schema router to support multitenant environments, where every tenant has its own schema and schemas may be on different databases, or to create a single logical database from multiple physical databases — all transparent to the application.

Query caching

MariaDB MaxScale 2.1 introducing a query caching filter, improving the performance of repeat queries while reducing the workload on the underlying database depending on the rules configured — time to live, maximum result set rows/size, maximum entry count and more.