Deploy Xpand Performance Topology
This procedure describes the deployment of the Xpand Performance topology with MariaDB Xpand 6.0 and MariaDB MaxScale 6.1.
MariaDB products can be deployed to form other topologies to leverage advanced product capabilities or combine the capabilities of multiple topologies.
The goal of the Xpand Performance topology is to deliver maximum throughput and lowest latency. Alternatively, Xpand can be implemented as a storage engine with MariaDB Enterprise Server to maximize compatibility with MariaDB while gaining capabilities like Windows functions, CTEs, and cross-engine JOINs.
This procedure has 6 steps, which are executed in sequence.
This page provides an overview of the topology, requirements, and deployment procedure.
Please read and understand this procedure before executing.
A license key is required to use MariaDB Xpand.
Obtain an MariaDB Xpand license key:
Support for this procedure is available in the MariaDB Xpand forum.
The following components are deployed during this procedure:
An advanced database proxy, firewall, and query router.
Distributed SQL with fault tolerance, write scaling, and horizontal scale-out for transactional workloads.
Xpand Performance topology delivers maximum throughput and lowest latency.
The Xpand Performance topology consists of:
One or more MaxScale nodes
Three or more Xpand nodes
The MaxScale nodes:
Monitor the health and availability of each Xpand node using the Xpand Monitor (
Accept client and application connections
Route queries to Xpand nodes using the Read Connection (
readconnroute) or Read/Write Split (
The Xpand nodes:
Receive queries from MaxScale
Store data in a distributed manner
Execute queries using parallel query evaluation
The Xpand Performance topology can also be deployed in a multi-zone environment:
Three or more zones
Each zone should be connected by low latency network connections
Each zone must have the same number of Xpand nodes
For additional information, see "MariaDB Xpand Topologies".
MariaDB products can be deployed in many different topologies. The topology on this page is representative of basic product capabilities. MariaDB products can be deployed to form other topologies, leverage advanced product capabilities, or combine the capabilities of multiple topologies.
These requirements are for the Xpand Performance topology when deployed with MariaDB Xpand 6.0 and MariaDB MaxScale 6.1.
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.
Production Xpand license keys define the maximum number of CPU cores which can be deployed.
AWS EC2 Instance Types
MariaDB Xpand 6.0 supports many different instance types in AWS EC2.
For MariaDB Xpand 6.0, the following EC2 instance types are recommended:
For MariaDB Xpand 6.0, the following EC2 instance types are not recommended, so the
xpdnode_install.py script throws a warning during installation:
For MariaDB Xpand 6.0, the following EC2 instance types are rejected, so the
xpdnode_install.py script exits with an error during installation:
In alignment to the enterprise lifecycle, the Xpand Performance topology with MariaDB Xpand 6.0 and MariaDB MaxScale 6.1 is provided for:
CentOS 7 (x86_64)
Red Hat Enterprise Linux 7 (x86_64)
Xpand requires the
/data/clustrix directory to reside on the
ext4 file system.
Each Xpand node should have 20+ GiB of SSD storage.
System User Accounts
By default, Xpand and MaxScale use the following OS user accounts. These accounts are created during the installation process:
MaxScale process owner
Xpand process owner
Used for administrative tasks, such as running the clx command
For additional information, see "MariaDB Xpand System User Accounts".
MaxScale Configuration Management
MaxScale can be configured using several methods. These methods use the MaxScale REST API.
This deployment procedure uses MaxCtrl. Alternatively, MaxGUI or direct REST API access could be used.
MaxScale Service Management
systemctl command is used to start and stop the MaxScale service.
View systemd journal
Xpand Service Management
The clx command is used to start and stop the Xpand service.
This command is usually executed as the
xpandm system user account. For additional information, see "MariaDB Xpand System User Accounts".