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.

Overview

  • Xpand provides distributed SQL.

  • Xpand integrates with the Xpand storage engine in MariaDB Enterprise Server 10.5:

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

Note

Want to use MariaDB Xpand immediately? Get Started with MariaDB Xpand.

Xpand Versions

Available MariaDB Xpand versions are listed below:

Release Date

Version

2021-03-15

MariaDB Xpand 5.3.14

2021-03-08

MariaDB Xpand 5.3.13-2

2020-12-14

MariaDB Xpand 5.3.13 General Availability (GA)

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:

Xpand Version

Compatible ES Version(s)

MariaDB Xpand 5.3.14

ES 10.5.9-6

MariaDB Xpand 5.3.13-2

ES 10.5.8-5

MariaDB Xpand 5.3.13 General Availability (GA)

ES 10.5.8-5

The listed MariaDB Enterprise Server versions can be used in the Xpand Storage Engine topology.

Feature Summary

Xpand storage engine has the following features:

More information about features can be found at MariaDB Xpand.

Deployment Instructions

To deploy MariaDB Xpand, choose a topology:

Topology

Description

Xpand Performance

  • Delivers maximum throughput and lowest latency.

  • Uses MaxScale as a transparent database proxy to monitor node health and route queries to Xpand nodes.

  • Xpand stores data in a distributed manner and executes queries using parallel query evaluation.

Xpand Storage Engine

  • This topology uses the Xpand storage engine.

  • Leverages Xpand's benefits and maximizes compatibility with MariaDB Enterprise Server (ES).

  • Uses MaxScale as a transparent database proxy to monitor node health and route queries to ES nodes.

  • ES nodes store non-Xpand tables and interact with Xpand tables using the Xpand Storage Engine.

  • Xpand stores data for Xpand tables in a distributed manner and executes queries using parallel query evaluation.

For additional information, see "Deploy Xpand 5.3".

Term Definitions

Term

Definition

Node

One service on a system.

Plugin

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.

Rebalancer

Process that balances replicas across the Xpand nodes.

Replica

Slice of a representation written to disk.

Representation

Table data as defined by an index. Table with multiple indexes generates multiple representations of its data.

Slice

Distribution of rows in a representation. Representations typically multiple slices, which are in turn written to disk as replicas.

Examples

Creating an Xpand Table

To create a table that uses the Xpand storage engine, use the CREATE TABLE statement with the ENGINE=Xpand option:

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';

FAQ

How many nodes should my MariaDB Xpand deployment have?

A MariaDB Xpand deployment should have 3 or more nodes to provide high availability, and it should have an odd number of nodes to avoid a split-brain scenario.

Reference

Xpand Reference

MariaDB Enterprise Server Reference