Deploying MariaDB Platform X4

MariaDB Platform X4 provides a single database stack that delivers cloud-native storage and smart transactions on a single platform. Platform X4 incorporates MariaDB Enterprise Server 10.4, MariaDB MaxScale 2.4, and MariaDB ColumnStore 1.4.

MariaDB Enterprise Server, currently version 10.4.11-5, is a 100% Open Source modern SQL database that extends the capabilities of the widely-deployed MariaDB Community Server with advanced enterprise-focused features, optimized builds, and a predictable release schedule. Available: Deployment instructions

MariaDB ColumnStore, a columnar storage engine has long been available as a custom fork of MariaDB Server, delivering analytical processing (OLAP) capabilities, and with Platform X3 this was extended to include unified transactional and analytical processing.

Platform X4 brings another leap ahead for MariaDB ColumnStore, now in version 1.4.2, and it is now included as a pluggable storage engine for MariaDB Enterprise Server 10.4 (as of 10.4.11-5). Available: Deployment instructions

This convergence of ColumnStore with the standard Server code base has brought about an easier path for deployment in HTAP configurations for smart transactions, making approachable the idea of running operational queries and analytical queries on the same stack. Available: Deployment instructions

Within Platform X4, High Availability (HA) and HTAP are enabled by MariaDB MaxScale, an advanced database proxy, firewall, and query router. The latest release of MaxScale, version 2.4.5, includes an enhanced binlog filter which further simplifies HTAP implementation. Available: Deployment instructions

Smart Transactions

Smart transactions make use of real-time analytics before, after, or at the same time as normal transactional queries to provide an enriched customer experience. The introducing MariaDB Platform X4 blog explains with a few examples:

  • Displaying a day’s flights is a transaction. Displaying them with their likelihood of an on-time departure is a smart transaction.
  • Accepting a payment is a transaction. Accepting it after validating it’s within an account holder’s 95th percentile spending radius is a smart transaction.
  • Transferring money from savings to checking is a transaction. Transferring it and returning an estimate of how long the money will last is a smart transaction.

Smart transactions are sometimes known as augmented transactions, Translytical, Hybrid Transactional-Analytical Processing or HTAP, Hybrid Operational-Analytical Processing or HOAP. MariaDB’s implementation enables straightforward integration of smart transactions in your application.

MariaDB Platform X4 enables smart transactions by storing data in both row and columnar formats. With the release of MariaDB ColumnStore 1.4.2 and MariaDB Enterprise Server 10.4.11-5, smart transactions can be achieved even on a single database node for small scale testing. With the new binlogfilter support present in MaxScale 2.4.5, replicating the “orders” table from row-based storage to columnar storage is a simple config:

type         = filter
module       = binlogfilter
match        = /[.]orders/
rewrite_src  = innodb
rewrite_dest = columnstore

Cloud-Native Storage Architecture

As data scales to billions of rows, terabytes on disk, and you need real-time analytics there are some database problems that can’t be indexed away. In these cases, MariaDB ColumnStore can help with your scaling challenges.

With data growth comes not just the technical challenge of how queries will be executed, but how and where the data will be stored. MariaDB ColumnStore 1.4.2 adds new support for Amazon S3 API compatible object storage.

ColumnStore’s “Storage Manager” uses a persistent disk cache for read/write operations so that it has minimal performance impact on ColumnStore. In some cases it will perform better than local disk operations.

Storage Manager configuration on ColumnStore is a two-step process:

  1. Before running postConfigure, edit the storagemanager.cnf configuration file to specify the S3 connection parameters (as detailed in the S3 section of that file), and the local machine configuration (as detailed in the ObjectStorage and Cache sections). The configuration file is documented in-line. Enable the Storage Manager by setting ObjectStorage/Service to S3.
  2. Run postConfigure, and when promoted for type of storage, select the StorageManager option.

Enterprise Documentation

Just as MariaDB Platform X4 brings together MariaDB Enterprise Server, MaxScale, and ColumnStore, our ever-expanding MariaDB Enterprise Documentation presents a platform-centric view of product features and deployment.

Additional information on MariaDB Platform X4’s technical details can be found in:

And if you’re interested in hearing more about MariaDB ColumnStore, we encourage you to join the upcoming Reddit AMA on January 15th!