I am happy to see MariaDB Corporation announcing a major new version of MariaDB MaxScale. MaxScale 2.0 Beta is now available here.
MariaDB MaxScale is a database proxy, but it can do much more than what you normally associate with a proxy. MaxScale is a multi-threaded and event-driven engine, where the main functionality is provided by plugins that are loaded at runtime. The functionality is not restricted only to routing, like sending write statements to the Master and share read statements between the Slaves, but MaxScale also provides advanced filtering, enhanced security and authentication.
With MaxScale plugins you can handle the scalability and availability of your database cluster, and also secure it and manage the maintenance downtime. Thanks to the plugin architecture of MaxScale it’s easy to extend it with custom plugin to allow it to handle new tasks. We are also working on a soon-to-be-released MaxScale development package to make it even easier to extend MaxScale.
Some of the major new features in MaxScale 2.0 are:
- Change Data Capture (CDC) allows you to replicate binlog events from MariaDB to Kafka in real time. This allows you to now leverage real-time data for machine learning or data analytics.
- A beta release supports binlog-to-Avro conversion and distribution modules. These modules allow MaxScale to connect to a MariaDB 10.0 Master server and convert the binary log events to Avro format change records.
- The readwritesplit routing module supports a high availability read mode where read queries are allowed, even if the Master server goes down.
- The MariaDB monitor module, mysqlmon, supports stale states for both the Master and Slave servers. Even if the Master goes down, a Slave server will retain its Slave state and continue to be used as long as it is running.
- End-to-end SSL secures data in motion.
- MaxAdmin can be configured to only accept local authorization based on the UNIX identity. This is a good security enhancement when you do not want admins accessing the system remotely.
- A new connection rate limitation reduces the impact of attacks before they are officially identified. You can specify the maximum number of connections for a service that when reached, further connection attempts will be rejected with an error.
We have also changed the query classifier component that MaxScale uses when deciding what to do with a particular query. It used to be based upon the MariaDB embedded library, but is now based upon sqlite3.
One of the things that I am most excited about for MariaDB MaxScale 2.0 is that it is the first MariaDB product to adopt the Business Source License (BSL). The excitement comes from the fact that we are adopting the BSL instead of resorting to use a more closed license like Open Core. BSL, while not being an OSI certified Open Source license, supports the core freedoms of Open Source software – including making all code (not just some) openly available from day one. Anyone can modify, extend and compile the code, test the software and most will even be able to use the software for free. For MaxScale 2.0, one can use it for free if one uses it with less than three database servers. MariaDB Corporation will also give free licenses to active contributors.
We at MariaDB Corporation think that this new license provides a great way to harmonize ongoing development innovation, community contribution and sustainable engineering.
Looking forward to getting your thoughts!