Distributed SQL Scaling

Overview

The following scaling details pertain to SkySQL's MariaDB Platform for Distributed SQL (Distributed Transactions).

MariaDB Platform for Distributed SQL offers read and write scaling, High Availability (HA), and fault tolerance for transactional workloads.

MariaDB Xpand

MariaDB Platform for Distributed SQL uses MariaDB Xpand, which enables scalability of transactional workloads.

Read and write scalability, and elasticity, are achieved through a combination of design features including massively parallel processing (MPP), strong consistency, automatic data rebalancing.

MariaDB Platform for Distributed SQL uses three to eighteen Xpand nodes. Xpand node count is defined at time of launch, and can be scaled-up or scaled-down after launch.

Each Xpand Node can perform both reads and writes.

Consistency

MariaDB Xpand features strong consistency achieved through synchronous replication and the Paxos protocol.

Hot Spot Rebalancing

"Hot spots" are areas of higher-than-typical demand. MariaDB Xpand automatically rebalances data to proactively reduce potential hot spots.

As a table changes over time, or in the event of node failure, nodes may hold data subject to a disproportionate amount of query load. Xpand is designed to proactively prevent hot spots by regularly checking for the fair distribution of each table and index between all nodes. If Xpand detects a hot spot, the rebalancer moves data between nodes to better balance the query load.

Scale-Out (Horizontal)

Horizontal scaling, or scale-out, involves deployment of additional systems.

MariaDB Xpand's distributed query execution and massively parallel processing (MPP) enables effective use of additional systems.

With MariaDB Xpand, horizontal scaling can result in increased read and write query capacity, increased storage capacity, and faster query execution.

Xpand has been designed to minimize network overhead so data transmission between nodes does not increase as the number of nodes increase.

Scale-Up (Vertical)

Vertical scaling, or scale-up, involves deployment of larger CPU, memory, or disk resources.

MariaDB Xpand's parallel query execution enables effective use of larger systems.

With MariaDB Xpand, vertical scaling can result in faster query execution and increased connection handling.

Elasticity

MariaDB Xpand features automated scale-out and scale-in elasticity. MariaDB Xpand's rebalancer automatically handles the migration of data as nodes are added or removed.

Connection Handling

MariaDB MaxScale provides load balancing for MariaDB Xpand.

The MaxScale Redundancy option provides horizontal scaling of max connections through deployment of 2 to 5 MaxScale load balancer instances.

Transactional Storage

On AWS, MariaDB Platform for Distributed SQL uses Amazon Web Services (AWS) Elastic Block Storage (EBS) Provisioned IOPS (io1 type) for transactional storage. With this storage type, IOPS are correlated to disk size. Additionally, you can specify the number of IOPS provisioned per GB of storage. For additional information, see "Transactional Storage on AWS".

On GCP, MariaDB Platform for Distributed SQL uses Google Cloud Platform (GCP) Zonal SSD Persistent Disk for transactional storage. With this storage type, IOPS are correlated to disk size. For additional information, see "Transactional Storage on GCP".

Single-Zone

MariaDB Platform for Distributed SQL can be deployed in a single-zone. This allows for improved communication latency between Xpand nodes, while limiting fault tolerance.

If you are interested in this feature, please contact us.