> 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/gridgain/gridgain-9/architecture/storage/engines.md).

# Storage Engines

How storage engines and storage profiles work in GridGain 9, the engines available (aimem, aipersist, rocksdb, columnar), and how node-local configuration affects them.

## Storage Engines

Storage engines in GridGain 9 are responsible for storing data on disk or in memory.

Storage engines are configured at the node level in the node configuration under the `ignite.storage.engines` section and are referenced by storage profiles, which are then used by distribution zones.

To check available storage engines on a node, use:

```
node config show ignite.storage.engines
```

## Storage Profiles

Storage profiles reference a specific engine and provide configuration parameters for that engine. Profiles are defined under the `ignite.storage.profiles` section and can be referenced by distribution zones when creating tables.

To check available storage profiles on a node, use:

```
node config show ignite.storage.profiles
```

## Scope of Configuration

Storage engine configuration is node-local, meaning each node in the cluster can have different engine configurations. While tables, zones, and profile names are cluster-wide, the actual implementation of a storage profile is specific to each node. This allows for flexibility in configuring storage characteristics based on the hardware capabilities of individual nodes.

When tables use a specific storage profile, they will be stored on each node according to that node's local configuration of the specified profile. If a node does not have a required profile configured, it will not be able to store the table data.

## Available Storage Engines

GridGain 9 provides the following storage engines:

| Engine                                                                                           | Description                                                                                             | Status       |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | ------------ |
| [aimem](/docs/gridgain/gridgain-9/architecture/storage/engines/in-memory-storage.md)             | Volatile (in-memory) Apache Ignite page memory (B+ tree) for high-performance, non-persistent workloads | Core         |
| [aipersist](/docs/gridgain/gridgain-9/architecture/storage/engines/native-persistent-storage.md) | Persistent Apache Ignite page memory (B+ tree) for durable storage with low latency access              | Core         |
| [rocksdb](/docs/gridgain/gridgain-9/architecture/storage/engines/rocksdb-persistent-storage.md)  | Persistent RocksDB (LSM tree) optimized for high write throughput                                       | Experimental |
| [columnar](/docs/gridgain/gridgain-9/architecture/storage/engines/columnar-storage.md)           | Secondary storage optimized for analytical queries with column-oriented data organization               | Add On       |

{% columns %}
{% column %}
{% content-ref url="/pages/hpYRiJpKpjEdz1SmozLg" %}
[In-Memory Storage](/docs/gridgain/gridgain-9/architecture/storage/engines/in-memory-storage.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Configure the GridGain 9 volatile (in-memory) storage engine, its profile properties, eviction settings, and Raft log storage budget.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/ZJ7vD2ikgIt1ikX4QtI9" %}
[Native Persistent Storage](/docs/gridgain/gridgain-9/architecture/storage/engines/native-persistent-storage.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
How the GridGain 9 persistent storage engine stores data on disk, including checkpointing, write throttling, and storage configuration.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/a2VNRKl742UgRBR0B6qp" %}
[RocksDB Persistent Storage](/docs/gridgain/gridgain-9/architecture/storage/engines/rocksdb-persistent-storage.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Configure the experimental GridGain 9 RocksDB persistent storage engine, based on an LSM tree and suited to high write throughput.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/XF7Y5rLhmdAQKVzkURKh" %}
[Columnar Storage](/docs/gridgain/gridgain-9/architecture/storage/engines/columnar-storage.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Configure the GridGain 9 columnar storage engine for analytical queries, including engine and storage profile parameters.
{% endcolumn %}
{% endcolumns %}
