Xpand Storage Engine
MariaDB Xpand provides distributed SQL, high availability, fault tolerance, write scaling, and horizontal scale-out for transactional workloads. MariaDB Xpand can integrate with the Xpand storage engine in MariaDB Enterprise Server 10.5 and later.
Xpand provides distributed SQL.
Xpand integrates with the Xpand storage engine in MariaDB Enterprise Server 10.5 and later.
Xpand supports transactional workloads.
Xpand is strongly consistent.
Xpand leverages a shared-nothing architecture to efficiently execute distributed SQL.
Xpand provides high availability (HA) and fault tolerance by design.
Xpand scales out horizontally for both reads and writes.
Want to use MariaDB Xpand immediately? Get Started with MariaDB Xpand.
Available MariaDB Xpand versions are listed below:
The listed MariaDB Xpand versions can be used in both the Xpand Performance topology and the Xpand Storage Engine topology.
Enterprise Server Versions
MariaDB Xpand is compatible with the Xpand storage engine included with MariaDB Enterprise Server:
Compatible ES Version(s)
The listed MariaDB Enterprise Server versions can be used in the Xpand Storage Engine topology.
Xpand storage engine has the following features:
Workload Optimization: Distributed SQL
Table Orientation: Row
ACID Compliant: Yes
High Availability: Yes
Multi-Version Concurrency Control (MVCC): Yes
More information about features can be found at MariaDB Xpand.
To deploy MariaDB Xpand, choose a topology:
For additional information, see "Deploy Xpand 5.3".
One service on a system.
A component of MariaDB Enterprise Server which may be included in the server function optionally, either at runtime or compile-time, and which adheres to an established plugin architecture within Enterprise Server.
Process that balances replicas across the Xpand nodes.
Slice of a representation written to disk.
Table data as defined by an index. Table with multiple indexes generates multiple representations of its data.
Distribution of rows in a representation. Representations typically multiple slices, which are in turn written to disk as replicas.
Creating an Xpand Table
To create a table that uses the Xpand storage engine, use the CREATE TABLE statement with the
CREATE DATABASE hq_sales; CREATE TABLE hq_sales.invoices ( invoice_id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, branch_id INT NOT NULL, customer_id INT, invoice_date DATETIME(6), invoice_total DECIMAL(13, 2), payment_method ENUM('NONE', 'CASH', 'WIRE_TRANSFER', 'CREDIT_CARD', 'GIFT_CARD'), PRIMARY KEY(invoice_id) ) ENGINE = Xpand; SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA='hq_sales' AND TABLE_NAME='invoices';
How many nodes should my MariaDB Xpand deployment have?
1 or more MaxScale nodes are required.
3 or more Xpand nodes are required.
To avoid problems establishing quorum during a network partition, it is recommended to deploy an odd number of Xpand nodes. If you deploy nodes in multiple zones, it is recommended to use an odd number of zones.
Production Xpand license keys define the maximum number of Xpand nodes which can be deployed.