MariaDB MaxScale is an advanced database load balancer, proxy, firewall, and query router that extends the high availability, scalability, and security of MariaDB Enterprise Server. MaxScale abstracts away the complexity of the underlying database infrastructure so DBAs, developers, and operators can focus on their core business. Part of the MariaDB Platform X5 release, MaxScale 2.5 incorporates many new features that enhance its functionality and performance.
Here are a few of the top level highlights:
- Graphic User Interface. The most visible change is that we now have a graphic user interface for managing MaxScale as an alternative to using the MaxCtrl command-line utility or directly editing the config file. This makes live and dynamic changes to MaxScale in flight accessible in more operating environments than before.
- New and Improved Binlog Router. The binlog router in MaxScale 2.5 has been completely rewritten to make it more efficient and performant, and to provide new functionality. With this release, MaxScale can serve replication traffic to any number of replicas while removing that load from the true Primary. Offloading the streaming binlog from your Primary to MaxScale decreases the load on your Primary and improves performance. We’ve also added automatic configuration of heartbeat and burst interval.
- Stream binlogs as JSON to Kafka Broker. We’ve added the ability for MaxScale to pull binlogs from the MariaDB Enterprise Server, parse them, and push them to a Kafka broker. The Kafka broker can then distribute them to other systems that can consume Kafka streams such as Elasticsearch or MariaDB ColumnStore.
- New HA Solution. Cooperative monitoring and locking enables using MaxScale nodes to manage your network even if they aren’t on the same subnet. With cooperative monitoring and locking you can have multiple MaxScale nodes in active state.
Split brain operation (where multiple MaxScale nodes could be attempting to control your underlying database cluster at the same time and thereby causing a conflict) is avoided with the use of a cooperative lock. The cooperative lock gives control of the database servers to one MaxScale node. The database servers and other instances of MaxScale recognize that the MaxScale node with the lock controls the database servers. All other MaxScale nodes remain active and continue to monitor the servers but will not try to command them.
- Distributed Cache Between MaxScale Instances. MaxScale includes an internal cache and this release expands caching to include support for distributed third-party caching software, such as Redis and Memcached. With a separate, distributed cache such as Redis, you can store much more data in memory. And, if you are already using something like Redis, you can now realize more value from it.
- Multi-node ColumnStore Orchestration. MariaDB Community Server 10.5 introduced ColumnStore as an integrated engine for single-node deployments. MariaDB Platform X5 through MaxScale handles the orchestration for multi-node ColumnStore for distributed columnar analytics. MaxScale takes advantage of a completely redesigned API within ColumnStore to orchestrate the process of adding nodes, failover, dropping nodes and more.