Distributed SQL with Xpand

Distributed SQL

Powered by MariaDB Xpand

MariaDB Xpand

Xpand turns MariaDB Enterprise Server into a distributed SQL database with no limits, supporting applications and services with a billion users as easily as those with a thousand. There are no application changes necessary because it supports standard SQL and the MySQL protocol, and no need to give up transactions and strong consistency either. Simply add database instances when the workload grows, whether it is temporary or forever, by a little or by a lot.

Unlimited scalability

Xpand can connect as little as three database instances for small workloads to over a hundred for the very largest, combining thousands of cores, terabytes of memory and petabytes of storage to operate as a single database spanning as many servers, virtual machines or containers as needed to sustain millions of transactions per second.

Reads

Xpand partitions tables into slices, and assigns them to different database instances. As a result, each instance caches unique slices of data in memory for fast reads. Simply add instances to increase the total amount of data cached in memory, and thus read performance.

 

 

Writes

Xpand distributes data via slices (i.e., horizontal table partitions), writing different data to different database instances at the same time. It effectively combines multiple storage devices to increase disk I/O. Simply add instances to increase write throughput and lower write latency.

 

 

Continuous availability

Xpand remains available despite failures. If one or more database instances fail, or even an entire rack/zone, it completes in-flight transactions while automatically rebalancing the data and recreating redundant copies in order to restore fault tolerance – and it is all transparent to applications, no manual intervention or recovery required.

Zone awareness

Xpand places redundant copies of data in multiple availability zones when deployed to the cloud, or in multiple racks when deployed on premises.

Multi-site replication

Xpand uses parallel streaming replication between regions/data centers to support both active/active and active/passive global deployments.

Background Divider Element

Strong consistency

Xpand writes to multiple database instances within a distributed transaction in order to guarantee atomicity, consistency, isolation and durability (ACID). In addition, redundant copies of data are synchronously updated within the transaction to ensure the latest writes will not be lost in the event one or more database instances fail afterward.

Standard SQL

Xpand turns MariaDB Enterprise Server into a distributed SQL database without imposing limitations on standard SQL support. Applications query data the same way they would with a traditional relational database – using all types of joins, filtering, aggregates, common table expressions, stored procedures/functions and more.

Background Divider Element

Self-optimizing

Xpand continuously evaluates data distribution as well as the health and resource utilization of individual database instances relative to the current workload. If database instances are added/removed, or if it hotspots are detected, it moves data in order to restore an even distribution of storage and query processing – and peak performance.

Rebalance

Xpand automatically begins shifting data to new database instances when scaling out, ensuring an even distribution of data at all times.

Reprotect

Xpand automatically recreates copies of data lost when a database instance goes down or becomes otherwise unavailable, restoring fault tolerance.

Redistribute

Xpand automatically redistributes data if a database instance if receiving too much of the workload, maintaining peak performance.

Background Divider Element

Resources

Want to Learn More?