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.

License

A license key is required to use MariaDB Xpand.

Obtain an MariaDB Xpand license key:

  • Users who want to try MariaDB Xpand with a 45-day non-production trial can obtain a license key on the Xpand trial page.

  • Existing MariaDB Enterprise customers with an Xpand license for production use can obtain their license key from MariaDB Sales.

Support

Support for this procedure is available in the MariaDB Xpand forum.

Production customers can obtain support in the MariaDB Xpand forum or by submitting a support case.

Components

The following components are deployed during this procedure:

Component

Function

MariaDB MaxScale 6.1

An advanced database proxy, firewall, and query router.

MariaDB Xpand 6.0

Distributed SQL with fault tolerance, write scaling, and horizontal scale-out for transactional workloads.

Topology

Xpand Performance Topology

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 (xpandmon)

  • Accept client and application connections

  • Route queries to Xpand nodes using the Read Connection (readconnroute) or Read/Write Split (readwritesplit) routers.

The Xpand nodes:

  • Receive queries from MaxScale

  • Store data in a distributed manner

  • Execute queries using parallel query evaluation

Multi-Zone Xpand Performance Topology

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.

Requirements

These requirements are for the Xpand Performance topology when deployed with MariaDB Xpand 6.0 and MariaDB MaxScale 6.1.

Node Count

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

Node Sizing

Resource

MaxScale Node

Xpand Nodes

CPU Cores

8+

8-32

Memory

16 GiB

64 GiB

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:

  • C5d

  • I3

  • I3en

  • M5d

  • M5dn

  • R5d

  • R5dn

  • X1

  • X1E

  • z1d

For MariaDB Xpand 6.0, the following EC2 instance types are not recommended, so the xpdnode_install.py script throws a warning during installation:

  • C4

  • C5

  • C5a

  • C5n

  • I2

  • M5

  • R5

  • R5a

  • R5b

For MariaDB Xpand 6.0, the following EC2 instance types are rejected, so the xpdnode_install.py script exits with an error during installation:

  • A1

  • Mac

  • T2

  • T3

  • T3a

  • T4g

Operating System

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)

Storage Considerations

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:

User Account

Purpose

maxscale

MaxScale process owner

xpand

Xpand process owner

xpandm

Used for administrative tasks, such as running the clx command

For additional information, see "MariaDB Xpand System User Accounts".

Quick Reference

MaxScale Configuration Management

MaxScale can be configured using several methods. These methods use the MaxScale REST API.

Method

Benefits

MaxCtrl

  • MaxCtrl is a command-line utility that can perform administrative tasks.

  • It supports many different commands.

  • See MaxCtrl Commands in 6.1 for a list of commands.

MaxGUI

  • MaxGUI is a graphical utility that can perform administrative tasks.

  • It was introduced in MaxScale 2.5.

REST API

  • The REST API can be used directly.

  • The curl utility can make REST API calls from the command-line.

  • Many programming languages also have libraries to interact with REST APIs.

This deployment procedure uses MaxCtrl. Alternatively, MaxGUI or direct REST API access could be used.

MaxScale Service Management

The systemctl command is used to start and stop the MaxScale service.

Operation

Command

Status

systemctl status maxscale

Start

systemctl start maxscale

Stop

systemctl stop maxscale

Restart

systemctl restart maxscale

Enable startup

systemctl enable maxscale

Disable startup

systemctl disable maxscale

View systemd journal

journalctl -u maxscale

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

Operation

Command

Status

clx status

Start

clx dbstart

Stop

clx dbstop

Restart

clx dbrestart

Next Step

Navigation in the procedure "Deploy Xpand Performance Topology":