MariaDB is pleased to announce the general availability of MariaDB Xpand 6 GA. MariaDB Xpand is MariaDB’s distributed SQL database. MariaDB Xpand is for businesses who need to run web, mobile and IoT applications at a scale beyond what standard relational databases can reach. It offers built-in high availability and linear scalability to millions of transactions per second.
With this release of MariaDB Xpand 6, two major features, parallel replication and columnar indexes, are now GA.
To enable multi-cloud OLTP database deployments that mitigate region or cloud failures, MariaDB Xpand 6 supports fully parallelized, asynchronous replication of data across geo-locations. By “fully parallelized” we mean that the replication is done independently by each node in the cluster, dramatically reducing the latency and cost of replication. Xpand ensures transactional consistency by maintaining transaction order during replication.
The loose coupling between remote clusters ensures continuous availability of clusters even if the link between locations gets severed.
With parallel replication, Xpand 6 supports applications that require near real-time visibility of data from different geo-locations. Applications subject to compliance regulations can manage data locally and selectively replicate data to other geo-locations. Use cases for Xpand with parallel replication include financial trading, e-commerce, and software as a service (SaaS) applications.
How It Works
Parallel replication enables fast delivery of binary log traffic between Xpand clusters for rapid asynchronous global replication.
Prior to version 6, Xpand supported asynchronous replication using binlogs (which contain committed CRUD events) on the emitting “master” cluster, and instructed the receiving “target” system to stream these events into the database on the target. This method of replication did not scale.
To achieve extreme scale for replication, we adopted the same strategy we use for scalable tables in Xpand 6. The primary side stores replication events into binlogs. They are implemented as sets of regular Xpand tables.
The target cluster uses a configurable number of readers to stream data in batches from the binlogs, in parallel. The “master” replies to multiple concurrent pull requests from these readers, and serves disjoined streams of events to each independently and in parallel, while preserving logical consistency of the transactions in the workflow.
Scaling replication becomes as simple as horizontally scaling your cluster capacity. Given the abundance of throughput on the network (i.e., you can have many parallel pipes across distributed regions) we can now keep up with very high write rates.
The new Columnar index allows for the simplification of composite indexing and “in-app analytics” use cases. Developers can deliver smarter applications, better user experiences and personal analytics giving their application users the latest status and insights on all data changes that may impact them.
Columnar indexing is a proven way to speed up database query performance by greatly reducing I/O during query execution. With columnar indexing, companies can run operational analytics, including ad hoc queries, on transactional workloads.
As an added benefit, administration for workloads that could benefit from complex composite indexes can now be simplified. A DBA can simply include all columns/fields for a desired query into one simple and unordered columnar index.
For an in depth discussion about columnar indexes in Xpand see New in MariaDB Xpand 6: Columnar Indexes for Distributed SQL.