MariaDB Xpand is a storage engine and database back-end for MariaDB Enterprise Server, providing distributed SQL, high availability, and fault tolerance for scale-out transactional workloads.
MariaDB Xpand is a component of MariaDB Platform.
Each Xpand node is able to perform both reads and writes.
When a query is received by MariaDB Enterprise Server, it is evaluated by a query optimizer and portions of the query are sent to the relevant Xpand nodes. The results are collected and a single result-set returned to the client.
MariaDB Xpand leverages a shared-nothing architecture; a single node handles each request, and memory and storage are not shared.
HA and Fault Tolerance¶
MariaDB Xpand is fault tolerant by design. Xpand maintains two replicas of all data using a rebalancer process that runs in the background. Xpand can suffer a single node or zone failure without data loss.
Upon node failure, data is rebalanced from remaining nodes, automatically healing the data protection without intervention. In a zone failure, the rebalancer performs the same operation between nodes and remaining zones.
When the failed node is replaced, the rebalancer redistributes data, restoring MariaDB Xpand to its intended node count.
MariaDB Xpand is flexible by design.
If the load on MariaDB Enterprise Server increases, you can add additional Servers to your deployment, load balancing between them using MariaDB MaxScale. Each Server can connect to the Xpand nodes to access data stored on Xpand tables.
If the load on MariaDB Xpand increases, you can scale out by adding new nodes. When you add an Xpand node to the deployment, the rebalancing process redistributes data from the existing nodes. Once complete, the Xpand node can now handle both read and write operations from MariaDB Enterprise Servers.
If the load on MariaDB Xpand decreases, you can scale down by removing nodes. When you remove an Xpand node from the deployment, the rebalancing process redistributes data to the remaining nodes, ensuring fault tolerance.