ColumnStore Storage Engine

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.

Latest Software Releases

Version

Latest Release

Latest Release Date

MariaDB Enterprise ColumnStore 6

6.1.1

2021-08-26

MariaDB Enterprise ColumnStore 5

5.6.2

2021-06-30

Benefits

  • Columnar storage engine that enables MariaDB Enterprise Server to perform new workloads

  • Optimized for online analytical process (OLAP) workloads including data warehousing, decision support systems, and business intelligence

  • Single-stack solution for hybrid transactional-analytical workloads to eliminate barriers and prevent data silos

  • Implements cross-engine JOINs to join Enterprise ColumnStore tables with tables using row-based storage engines, such as InnoDB

  • Smart storage engine that plans and optimizes its own queries using a custom select handler

  • Scalable query execution using massively parallel processing (MPP) strategies, parallel query execution, and distributed function evaluation

  • S3-compatible object storage can be used for highly available, low-cost, multi-regional, resilient, scalable, secure, and virtually limitless data storage

  • High availability and automatic failover by leveraging MariaDB MaxScale

  • REST API for multi-node administration with the Cluster Management API (CMAPI) server

  • Connectors for popular BI platforms such as Microsoft Power BI and Tableau

  • High-speed bulk data loading that bypasses the SQL layer and does not block concurrent read-only queries

Available Versions

ES Version

Enterprise ColumnStore Version

ES 10.6

MariaDB Enterprise ColumnStore 6

(ES 10.5.6-4 and later)

MariaDB Enterprise ColumnStore 5

(ES 10.5.5-3 and before)

MariaDB Enterprise ColumnStore 1.5

ES 10.4

MariaDB Enterprise ColumnStore 1.4

Available Platforms

MariaDB Enterprise ColumnStore is available on select platforms:

  • CentOS 7

  • CentOS 8

  • Debian 9

  • Debian 10

  • Red Hat Enterprise Linux 7

  • Red Hat Enterprise Linux 8

  • SUSE Linux Enterprise Server 12

  • SUSE Linux Enterprise Server 15

  • Ubuntu 18.04

  • Ubuntu 20.04

Deployment Instructions

MariaDB Enterprise ColumnStore is available for production in the cloud on MariaDB SkySQL DBaaS. For additional information, see the MariaDB SkySQL Documentation

MariaDB Enterprise ColumnStore is available for production on-premises deployments. For on-premises deployment instructions, choose a topology and version:

Topology

Diagram

Features

Enterprise ColumnStore with Object Storage
Enterprise ColumnStore with Object Storage
  • Analytics with scalable S3-compatible storage

  • Highly available

  • Scales reads

  • Data protection using S3-compatible object storage

  • ES 10.5, ColumnStore 5, MaxScale 2.5

  • ES 10.6, ColumnStore 6, MaxScale 6.1

Enterprise ColumnStore with Shared Local Storage
Enterprise ColumnStore with Shared Local Storage
  • Analytics

  • Highly available

  • Scales reads

  • Data protection using shared local storage

  • ES 10.5, ColumnStore 5, MaxScale 2.5

  • ES 10.6, ColumnStore 6, MaxScale 6.1

HTAP with Object Storage
  • Single-Stack Hybrid Transactions/Analytics

  • ColumnStore for analytics

  • InnoDB for transactions

  • Cross-engine JOINs

  • ES 10.5, ColumnStore 5, MaxScale 2.5

  • ES 10.6, ColumnStore 6, MaxScale 6.1

MariaDB Enterprise ColumnStore supports multiple topologies. The options described on this page are representative of basic product capabilities.

MariaDB products can be deployed to form other topologies that leverage advanced product capabilities and combine the capabilities of multiple topologies.

Feature Summary

MariaDB Enterprise ColumnStore 5 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;

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

FAQ

How many nodes should my multi-node Enterprise ColumnStore deployment have?

If high availability is required, the MariaDB Enterprise ColumnStore deployment must meet some node count requirements:

  • It should have 3 or more nodes.

  • It should have an odd number of nodes.

These criteria help to avoid a split-brain scenario.

See Deployment Requirements for Enterprise ColumnStore for more information.

Is MaxScale a required component of multi-node Enterprise ColumnStore?

If high availability is required, a multi-node Enterprise ColumnStore deployment must have at least one MaxScale instance.

If high availability is required for the MaxScale instance too, a multi-node Enterprise ColumnStore deployment must have more than one MaxScale instance. In that case, the MaxScale instances should also be configured to use cooperative locking.

What kind of storage does multi-node Enterprise ColumnStore require?

MariaDB Enterprise ColumnStore has specific storage requirements.

See Enterprise ColumnStore Storage Requirements for more information.