MariaDB Xpand

MariaDB Xpand provides distributed SQL, high availability, fault tolerance, write scaling, and horizontal scale-out for transactional workloads with MariaDB Enterprise Server.

MariaDB Xpand is powered by the Xpand storage engine and the MariaDB Xpand service.

MariaDB Xpand is a component of MariaDB Platform.

MariaDB Xpand was added in MariaDB Enterprise Server 10.5.

Benefits

MariaDB Xpand provides many benefits:

Available Versions

The version of MariaDB Xpand depends on the version of MariaDB Enterprise Server being used:

Enterprise Server

Xpand

ES10.5.8-5

MariaDB Xpand 5.3.13 General Availability (GA)

ES10.5.5-3 - ES10.5.6-4

MariaDB Xpand 5.3.11 Release Candidate (RC)

Note

To install the latest version, see Deploy MariaDB Xpand 5.3.

Available Platforms

MariaDB Xpand is available on select platforms:

  • CentOS 7

  • Red Hat Enterprise Linux 7

Next Generation of ClustrixDB

MariaDB Xpand is the next generation of ClustrixDB:

  • MariaDB Xpand 5.3 is the successor to ClustrixDB 9.2, but it is more than a new release. MariaDB Xpand has a redesigned architecture that makes it a significant component of MariaDB Platform X5.

  • The Xpand storage engine integrates ClustrixDB's technology with MariaDB Enterprise Server, which means that ClustrixDB's benefits can be combined with the enterprise-grade features of MariaDB Enterprise Server.

Distributed SQL

MariaDB Xpand provides distributed SQL:

  • Xpand provides an SQL interface.

  • Xpand is ACID compliant.

  • Xpand divides tables and indexes into slices, and it distributes those slices among all the nodes.

  • All constructs in Xpand (tables, indexes, lock management, etc) are distributed across all of the nodes.

  • 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.

  • Any node can handle any request. Transactions are automatically coordinated across nodes, and writes are automatically sent to the node where the data resides.

  • Xpand executes distributed JOINs with a massively parallel processing (MPP) strategy.

  • MariaDB Xpand leverages a shared-nothing architecture; memory and storage are not shared between nodes.

Highly Available

MariaDB Xpand provides high availability:

  • Xpand maintains replicas of each slice, so that it can recover from a node failure without loss of data.

  • Xpand can maintain multiple replicas of each slice, so it can survive failures of multiple nodes.

  • Xpand is zone aware, so it can recover from an entire zone failure without loss of data.

Fault Tolerant

MariaDB Xpand is fault tolerant by design:

  • Xpand's rebalancer maintains a healthy data distribution.

  • When a node or zone fails, the rebalancer automatically creates new replicas for each slice to replace the failed nodes.

  • When a failed node is replaced, the rebalancer automatically redistributes data again, restoring MariaDB Xpand to its intended node count.

Write Scaling

MariaDB Xpand provides write scaling:

  • Every Xpand node is able to write concurrently.

  • Xpand is strongly consistent, so all nodes always see the latest data.

  • Xpand uses the Paxos protocol for distributed transaction resolution.

  • Xpand replicates writes synchronously, and all nodes participating in a write must provide an acknowledgment before a write is complete.

  • Xpand performs writes in parallel.

Scale-Out

MariaDB Xpand scales out:

  • Each Xpand node is able to perform both reads and writes.

  • Reads are lockless.

  • Writes don't block reads.

  • Causal reads are provided by design without extra configuration.

  • Additional nodes can be added to increase capacity.

  • When you add an Xpand node to the deployment, the rebalancing process redistributes data from the existing nodes.

  • MariaDB MaxScale can be used for load balancing.

  • If the spike in load was temporary, nodes can be removed to decrease capacity.

  • When you remove an Xpand node from the deployment, the rebalancing process redistributes data to the remaining nodes, ensuring fault tolerance.

License

The installation process of MariaDB Xpand requires a license. For licensing details, please contact us.

For details on how to use your MariaDB Xpand license, see MariaDB Xpand Licensing.