> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/analytics/mariadb-columnstore/architecture/columnstore-storage-engine-overview.md).

# ColumnStore Storage Engine

## Overview

MariaDB 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 ColumnStore."

The ColumnStore storage engine has the following features:

| Feature                | Detail             | Resources                                                                                                                                                                                                                                       |
| ---------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Storage Engine         | ColumnStore        |                                                                                                                                                                                                                                                 |
| Availability           | ES 10.5+, CS 10.5+ | MariaDB Enterprise Server                                                                                                                                                                                                                       |
| Workload Optimization  | OLAP and Hybrid    | [OLAP Workloads ](/docs/analytics/mariadb-columnstore/architecture/columnstore-storage-architecture.md#olap-workloads)[Hybrid Workloads](/docs/analytics/mariadb-columnstore/architecture/columnstore-storage-architecture.md#hybrid-workloads) |
| Table Orientation      | Columnar           | [Columnar Storage Engine](/docs/analytics/mariadb-columnstore/architecture/columnstore-architectural-overview.md#columnar-storage-engine)                                                                                                       |
| ACID-compliant         | Yes                |                                                                                                                                                                                                                                                 |
| Indexes                | Unnecessary        | [Extent Elimination](/docs/analytics/mariadb-columnstore/architecture/mariadb-enterprise-columnstore-query-evaluation.md#extent-elimination)                                                                                                    |
| Compression            | Yes                | [Compression](/docs/server/ha-and-performance/optimization-and-tuning/optimization-and-tuning-compression.md)                                                                                                                                   |
| High Availability (HA) | Yes                | [High Availability and Failover](/docs/analytics/mariadb-columnstore/architecture/columnstore-architectural-overview.md#high-availability-and-failover)                                                                                         |
| Main Memory Caching    | Yes                |                                                                                                                                                                                                                                                 |
| Transaction Logging    | Yes                | [Version Buffer](/docs/analytics/mariadb-columnstore/architecture/columnstore-storage-architecture.md#version-buffer)                                                                                                                           |
| Garbage Collection     | Yes                | [ersion Buffer](/docs/analytics/mariadb-columnstore/architecture/columnstore-storage-architecture.md#version-buffer)                                                                                                                            |
| Online Schema changes  | Yes                | [Online Schema Changes](/docs/analytics/mariadb-columnstore/architecture/mariadb-enterprise-columnstore-locking.md#online-schema-changes)                                                                                                       |
| Non-locking Reads      | Yes                | [Lockless Reads](/docs/analytics/mariadb-columnstore/architecture/mariadb-enterprise-columnstore-locking.md#lockless-reads)                                                                                                                     |

## Examples

### Creating a ColumnStore Table

To create a ColumnStore table, use the [CREATE TABLE](/docs/server/server-usage/tables/create-table.md) statement with the `ENGINE=ColumnStore` option:

```sql
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:

```ini
[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:

```bash
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
```

<sub>*This page is: Copyright © 2025 MariaDB. All rights reserved.*</sub>

{% @marketo/form formId="4316" %}
