blog
What is MariaDB Enterprise Cluster?
MariaDB Enterprise Cluster is a subscription service of a highly available database solution from MariaDB Corporation which is managed with an Enterprise Lifecycle. There are three aspects of the Enterprise Lifecycle that are provided by MariaDB: Enterprise Builds, Enterprise Releases, and Enterprise Support.
Enterprise Builds ensure you will get the highest level of quality of software, which consists of optimized default parameters and priority of bug fixes available for subscription customers.
Enterprise Release gives you predictable releases for patches and updates based on a certain schedule.
Enterprise Support provides the user with customer support, professional services, training, and documentation.
The MariaDB Enterprise Cluster consists of MariaDB Enterprise Server with Galera Cluster for redundancy, and MariaDB Maxscale for load balancing.
MariaDB Enterprise Server & Cluster
MariaDB Enterprise Cluster comes with an Enterprise grade database server called MariaDB Enterprise Server. It provides enterprise features such as:
- MariaDB Enterprise Audit, comprehensive audit plugin that provides detailed information of connections and also the changes of database.
- MariaDB Enterprise Backup, it is an enhanced feature from MariaDB Backup that allows the writes and schema changes while the backup is running. The DDL blocking is reduced through backup stages and DDL logging.
Beside the enterprise features, there are some standard features that you might be familiar with in MariaDB, for example : SQL based account locking, password expiration, bitemporal tables, account automatic lock after failed login attempts.
MariaDB Enterprise Cluster and Galera Cluster
MariaDB Enterprise Cluster uses Galera Cluster for MariaDB which is already enhanced for the enterprise. It synchronizes data to achieve redundancy and high availability. Galera Cluster is a database clustering solution that enables multi master replication between the nodes with synchronous replication state.
The synchronous replication in Galera Cluster uses certification based replication where group communication and transaction ordering are used. The transaction is executed in a node, at the point when the commit happens, it will run coordination of the certification process to enforce global consistency. The broadcast service establishes a global total order between transactions to achieve global coordination.
Certification Based Replication requires some features of the database in order to be working. The features are:
- Transactional Database; the database must be transactional, it needs to be able to rollback uncommitted transactions.
- Atomic Changes; the transaction changes must occur completely or not occur at all in the database.
- Global Ordering; the replication must be ordered globally. Transaction must apply to all instances within the same order.
MariaDB Enterprise Cluster and MariaDB Maxscale
MariaDB Enterprise Cluster also comes with MariaDB Maxscale as a database proxy which can provide a high availability, scalability environment. Other popular proxies that are used by MySQL and MariaDB users include HAProxy and ProxySQL.
There are some great features for Maxscale that give you benefit for your environment scaling:
Automatic Failover
Maxscale can monitor database server availability and automatically trigger failover for service resiliency if a crash happens. In MariaDB Enterprise Cluster where any node can accept writes and reads, Maxscale is used to minimize the database failures. In addition, maxscale also can be used to split write traffic.
Traffic Control
There are some features related to traffic controls in maxscale. You can set the max threshold of your query per seconds using Query throttling, SQL firewall can be used to restrict data access and block queries that have similar patterns based on the rules we defined. Authentication support that supports PAM and Kerberos.
Load Balancing
It provides load balancing for your traffic distributed to your database. It can be used to scale out your database (split read/write traffic through the nodes).
There are also some improvements on the latest Maxscale (version 2.4) such as Change Data Capture (CDC) adapter, connection attempt throttling, smart query routing, and ClustrixDB support.
We hope this short blog post gives you an understanding of what it is included in MariaDB Enterprise Cluster.