ColumnStore Storage Engine

Overview

MariaDB Enterprise ColumnStore integrates with MariaDB Enterprise Server using the ColumnStore storage engine plugin. The ColumnStore storage engine plugin enables MariaDB Enterprise Server to interact with ColumnStore tables.

For deployment instructions and available documentation, see "MariaDB Enterprise ColumnStore".

Feature Summary

The ColumnStore storage engine has the following features:

Feature

Detail

Resources

Storage Engine

ColumnStore

Availability

ES 10.4+, CS 10.5+

Workload Optimization

OLAP and Hybrid

Table Orientation

Columnar

ACID-compliant

Yes

Indexes

Unnecessary

Compression

Yes

High Availability (HA)

Yes

Main Memory Caching

Yes

Transaction Logging

Yes

Garbage Collection

Yes

Online Schema changes

Yes

Non-locking Reads

Yes

Examples

Creating a ColumnStore Table

To create a ColumnStore table, use the CREATE TABLE statement with the ENGINE=ColumnStore option:

CREATE DATABASE columnstore_db;

CREATE TABLE columnstore_db.analytics_test (
   id INT,
   str VARCHAR(50)
) ENGINE = ColumnStore;

Multi-Node Configuration

To deploy a multi-node Enterprise ColumnStore deployment, a configuration similar to below is required:

[mariadb]
log_error                              = mariadbd.err
character_set_server                   = utf8
collation_server                       = utf8_general_ci
log_bin                                = mariadb-bin
log_bin_index                          = mariadb-bin.index
relay_log                              = mariadb-relay
relay_log_index                        = mariadb-relay.index
log_slave_updates                      = ON
gtid_strict_mode                       = ON

# This must be unique on each cluster node
server_id                              = 1

Configure the Mandatory Utility User Account

To configure the mandatory utility user account, use the mcsSetConfig command:

$ sudo mcsSetConfig CrossEngineSupport Host 127.0.0.1
$ sudo mcsSetConfig CrossEngineSupport Port 3306
$ sudo mcsSetConfig CrossEngineSupport User cross_engine
$ sudo mcsSetConfig CrossEngineSupport Password cross_engine_passwd