All pages
Powered by GitBook
1 of 1

Loading...

Storage Engines Overview

An introduction to MariaDB's pluggable storage engine architecture, highlighting key engines like InnoDB, MyISAM, and Aria for different workloads.

Overview

MariaDB features pluggable storage engines to allow per-table workload optimization.

A storage engine is a type of plugin for MariaDB:

  • Different storage engines may be optimized for different workloads, such as transactional workloads, analytical workloads, or high throughput workloads.

  • Different storage engines may be designed for different use cases, such as federated table access, table sharding, and table archiving in the cloud.

  • Different tables on the same server may use different storage engines.

Engine
Target
Optimization
Availability

Examples

Identify the Default Storage Engine

Identify the server's global default storage engine by using to query the system variable:

Identify the session's default storage engine by using :

Set the Default Storage Engine

Global default storage engine:

Session default storage engine supersedes global default during this session:

Configure the Default Storage Engine

Identify Available Storage Engines

Choose Storage Engine for a New Table

Storage engine is specified at time of table creation using a ENGINE = parameter.

Resources

Engines for System Tables

Standard MariaDB storage engines are used for System Table storage:

FAQ

Can I use more than one storage engine on a server?

  • Yes, different tables can use different storage engines on the same server.

  • To create a table with a specific storage engine, specify the ENGINE table option to the statement.

Can I use more than one storage engine in a single query?

  • Yes, a single query can reference tables that use multiple storage engines.

  • In some cases, special configuration may be required. For example, ColumnStore requires cross engine joins to be configured.

What storage engine should I use for transactional or OLTP workloads?

  • is the recommended storage engine for transactional or OLTP workloads.

What storage engine should I use for analytical or OLAP workloads?

  • is the recommended storage engine for analytical or OLAP workloads.

What storage engine should I use if my application performs both transactional and analytical queries?

An application that performs both transactional and analytical queries is known as .

HTAP can be implemented with MariaDB by using for transactional queries and for analytical queries.

Reference

MariaDB Server Reference

  • .

  • , which shows available storage engines.

  • , which shows storage engine by table.

This page is: Copyright © 2025 MariaDB. All rights reserved.

Cache, Temp

Temporary Data

ES 10.5+

Reads

Reads

ES 10.5+

Write-Heavy

I/O Reduction, SSD

ES 10.5+

Cloud

Read-Only

ES 10.5+

Federation

Sharding, Interlink

ES 10.5+

Aria

Read-Heavy

Reads

ES 10.5+

Analytics, HTAP

Big Data, Analytical

ES 10.5+

InnoDB

General Purpose

Mixed Read/Write

SHOW GLOBAL VARIABLES
default_storage_engine
SHOW SESSION VARIABLES
Aria Storage Engine
MyISAM Storage Engine
CREATE TABLE
InnoDB
hybrid transactional-analytical processing (HTAP)
InnoDB
Plugins
Information Schema ENGINES table
Information Schema TABLES table

ES 10.5+

SHOW GLOBAL VARIABLES LIKE 'default_storage_engine';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+
SHOW SESSION VARIABLES LIKE 'default_storage_engine';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| default_storage_engine | InnoDB |
+------------------------+--------+
SET GLOBAL default_storage_engine='MyRocks';
SET SESSION default_storage_engine='MyRocks';
[mariadb]
...
default_storage_engine=MyRocks
SHOW ENGINES;
CREATE TABLE accounts.messages (
  id INT PRIMARY KEY AUTO_INCREMENT,
  sender_id INT,
  receiver_id INT,
  message TEXT
) ENGINE = MyRocks;
Memory
MyISAM
MyRocks
S3
Spider
ColumnStore
ColumnStore
ColumnStore