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:
It combines the benefits of ClustrixDB with the benefits of MariaDB Enterprise Server.
It is a shared-nothing Distributed SQL database that can handle large data sets, while providing SQL compatibility.
It is highly available, and it automatically responds to node failures.
It is fault tolerant, and it automatically protects your critical data by creating redundant copies on multiple nodes.
It scales both reads and writes, while maintaining strong consistency and transactional isolation.
It can elastically scale out, so that you can increase capacity and performance by simply adding nodes.
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 |
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.