What's New in MariaDB ColumnStore 1.4?

MariaDB ColumnStore 1.4 introduces the following new features:

MariaDB Server Convergence

Until now, MariaDB ColumnStore has been maintained as a custom fork of MariaDB Server, to handle the unique way that queries are handled for distributed processing.

With this release, a joint project between the MariaDB Server and MariaDB ColumnStore engineering teams, ColumnStore now works as a pluggable storage engine on the standard MariaDB Enterprise Server 10.4 platform.

S3-Compatible Object Storage

MariaDB ColumnStore now has the ability to use any object store that is Amazon S3 API compatible. The "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.

Disk Pre-allocation

To reduce SSD wear and and increase write performance for large data sets containing many columns, ColumnStore now allocates disk as-needed, writing only real data and padding to fill the remainder of an 8KB block. ColumnStore previously wrote twice -- once to pre-allocate an empty file for each new extent (8 million item file for a column), and a second time to fill the file with real data.

Query Improvements

  • Faster ORDER BY

  • The outer "ORDER BY" of a query is now processed using ColumnStore’s engine instead of MariaDB server. This uses a faster sorting algorithm for higher performance with larger result sets.

  • Faster, More Efficient Hash JOINS

  • Expanded Data Type Support including TIMESTAMP (with CURRENT_TIMESTAMP), BOOLEAN, MEDIUMINT

  • Statement-based Replication support

InfiniDB Alias Eliminated

ColumnStore 1.2 and earlier included the InfiniDB engine as an alias. This alias has now been removed. All ColumnStore tables must now be created with the engine name "columnstore". All MariaDB system variables prefixed with "infinidb_" have now been removed.

For a complete list of changes, see MariaDB ColumnStore 1.4.2 release notes.