Skip navigation.
Home

Languages

MySQL pluggable Storage Engines (SE)

One of the big advantages of MySQL is its concept of Pluggable Storage Engines. This means you can choose the most optimal Storage Engine for your needs. This also has a disadvantage: You have to know what you are doing...

If you need some help deciding which is the right Storage Engine or even strategy for you or if you want us to make an independent and vendor neutral comparison of those Storage Engines consider our FromDual Consulting Services!

MySQL provides the following storage engines:

mysql> SHOW ENGINES;

+------------+----------+-------------------------------------------------------+
| Engine     | Support  | Comment                                               |
+------------+----------+-------------------------------------------------------+
| ARCHIVE    | YES      | Archive storage engine                                |
| BerkeleyDB | NO       | Transactional storage engine with page-level locking  |
| BLACKHOLE  | YES      | /dev/null storage engine for replication transmission |
| CSV        | YES      | CSV storage engine                                    |
| EXAMPLE    | YES      | Example storage engine                                |
| Falcon     | YES      | Falcon storage engine                                 |
| FEDERATED  | YES      | Federated MySQL storage engine (like database links)  |
| InnoDB     | YES      | Transactional storage engine with row-level locking   |
| ISAM       | NO       | Obsolete storage engine                               |
| MEMORY     | YES      | Hash based in memory tables                           |
| MRG_MYISAM | YES      | Collection of identical MyISAM tables (MERGE)         |
| MyISAM     | DEFAULT  | Default engine with great performance                 |
| ndbcluster | DISABLED | Clustered, fault-tolerant, memory-based tables        |
+------------+----------+-------------------------------------------------------+

Comments

Storage Engine Comment
BerkeleyDB Discontinued Storage Engine.
Falcon Its future is uncertain at the moment.
FEDERATED Currently disabled by default (no GA quality).
ISAM Discontinued Storage Engine. Should not be used any more. Use MyISAM instead.
MariaDB Seems to have no future within MySQL. See 3rd party providers.
MRG_MYISAM Should not be used any more. Use partitioning option (MySQL 5.1) instead.

3rd party Storage Engine providers

There are also many independent Storage Engine providers:

Provider Engine State Platforms License Release Features
Antony T Curtis Amira SE Discontinued? GPL v2 Transactional Storage Engine MySQL based upon the NuSphere Gemini Storage Engine.
Alex Esterkin Ariella SE pre-Alpha GPL Global transaction and lock management, as well as transactional elastic provisioning and de-provisioning. The intended use cases: (1) transactional elastic data fabric in a cloud; (2) transaction monitor for cloud computing.
Amazon AWS S3 Beta 0.06 (Apr 2007?) Makes the Amazon AWS S3 Simple Storage Service available as tables and rows in MySQL. This gives MySQL applications simple access to S3's worldwide distributed highly-available disaster-resistant storage and distribution system. Keep big slow blobs "out-line" to join against fast local tables. Solves the "Image Server Problem". Gives an entire CMS in SQL.
Toru Maesaka BlitzDB SE GPL v2 Highly efficient general purpose use DB. Non-transactional competition to MyISAM and MEMORY engines. Developed with Drizzle.
DDE Distributed Data Engine Alpha GPL Revision of data is a mandatory task for any high security data. Creating revisions on database objects uses up many software development resources and is error prone. This engine will give database administrators the possibility to create a table that is versioned automatically.
The Distributed Data Engine is an Open Source project that is dedicated to provide a Storage Engine for distributed data according to workload statistics.
There are two main use cases for the engine. The first one is to reduce the network traffic by distributing the data according to where the data will be needed next. The other is to speed up full table scans by equally distributing the data among all servers using the I/O throughput of the all nodes plus evaluating the WHERE clauses before all data is merged in one node on the single node.
InfoBright BrightHouse GA Linux and Windows Proprietary (IEE) and OSS (ICE)? v3.3.2 DWH data compression.
FederatedX FederatedX Beta GPL 0.4 FederatedX Pluggable Storage Engine for MySQL is based off of the Federated Storage Engine, and is an attempt to moved the Federated Storage Engine forward to fix bugs, add new features and develop new concepts that are easier to achieve as a pluggable storage engine.
Domas M. FIFO SE
Open Query Graph SE RC Linux GPLv2+/Proprietary The GRAPH engine is a computation engine allowing hierarchies and more complex graph structures to be handled in a relational fashion. In a nutshell, tree structures and friend-of-a-friend style searches can now be done using standard SQL syntax, and results joined onto other tables.
IBM IBMDB2I GA AS400, i5/OS Proprietary DB2 interface for DB2 on i5/OS (AS400)
Calpont InfiniDB GA Linux GPL v2/Commercial v1.0.3, v1.1a InfiniDB is a scalable data warehousing (DWH) storage engine for MySQL. It is a column-oriented RDBMS primarily designed to handle the following application scenarios: Data warehouses, data marts, and other business intelligence (BI) / analytic databases, general purpose reporting databases, read-intensive segments of an overall application where read/search/lookup portions of the application are served by an analytic/query database and the transactional segments (e.g. order entry, etc.) are managed by a traditional relational database.
mdbtools mdbtools pre-Alpha GPL A pluggable storage engine that allows read-only access to MicroSoft Access .mdb database files.
NitroSecurity NitroEDB GA? Proprietary High-performance.
Thinking Networks not available Planning GPL Multidimensional Storage Engine.
Nomura OpenOLAP Beta Linux LGPL 1.0 for MySQL 5.0.x, 2006-04-26, stalled since 2006? OLAP cube tool (DWH).
PrimeBase PrimeBase XT PBMS Beta Linux, OS X, Windows GPL PBXT 0.9.86, 2007-04-09, PBX 0.9.87 for MySQL 5.1.19 Streaming database.
PrimeBase MyBS Alpha Linux, OS X GPL 1.0-alpha for MySQL 5.1.19 BLOB streaming engine. The goal of the BLOB Streaming for MySQL project is to transform MySQL into a scalable media server capable of streaming pictures, films, MP3 files and other binary and text objects (BLOBs) directly in and out of the database. For this purpose the MyBS storage engine for MySQL integrates a lightweight HTTP server, making it possible to upload and download BLOBs to and from MySQL tables using the HTTP PUT and GET methods.
3L Tools Q4M Beta GPL Q4M (Queue for MySQL) is a message queue that works as a pluggable storage engine of MySQL 5.1, designed to be robust, fast, flexible.
RethinkDB RethinkDB Alpha Linux Freeware/Proprietary 0.1 MySQL Storage Engine for Solid State Disks (SSD)
RitmarkFS RitmarkFS Alpha Linux, Windows GPL ritmark-fs-0.4.1, 2006-11-21 RitmarkFS is a MySQL Data Storage engine that allows one to access and manipulate file-system using SQL queries. RitmarkFS also supports file-system replication and directory change tracking.
IBM (Solid) solidDB GA Linux 32-bit, Linux 64-bit, Windows GPL solidmysql-5.0.41-0073 2007-06-11 In memory database. Purchased by IBM. Turbo-charged version of MySQL database that leverages solidDB Storage Engine to support heavy transaction volumes and large numbers of concurrent users.
InnoBase (Oracle) InnoDB Plugable InnoDB storage engine
Kickfire KFDB GA Proprietary Column store + Compression + SQL-Chip, Applicance with a MySQL pluggable Storage Engine (for DWH). Costs: USD 32k
Brian Aker MemCacheD SE Alpha GPL Memcache storage engine for MySQL
J. Schlüters PHP SE Simplified BSD License MySQL Storage engine using embedded PHP
RRD Storage engine (insider information, unofficial name, not yet available). A work around you can find here: Round-Robin Database Storage Engine (RRD)
ScaleDB ScaleDB GA Proprietary A scalable transactional storage engine for OLTP / DWH (RAC for MySQL!).
Sphinx Search SphinxSE GA Linux, Windows GPL v2 v0.9.9 External fulltext search engine accessible from MySQL. Scales pretty well.
Spider SpiderSE GA GPL v2 GA: 1.0, 2.16-dev A sharding Storage Engine. Supports XA and partitioning.
Tokutek TokuDB GA Proprietary v3.0 TokuDB is a MySQL Storage Engine that incorporates Fractal Tree technology. It enhances scalability and performance, increasing per-node performance by 10x-50x. TokuDB is a true software-only Storage Engine plug-in, maximizing compatibility with existing MySQL code and applications.
Bearfoot Software VEMySQL 1.5 Velocity Storage Engine
Vertical Partitioning SE VPSE Alpha GPL v2 Merges tables for vertical partitioning and joins by primary key.
Web Service Engine Web Service Engine Alpha GPL myhttp is a basic web service engine for MySQL. It all you to perform basic HTTP method operations, like PUT, GET, and DELETE from MySQL as though it was a table.
Wormhole SE Wormhole SE GPL v2 Scriptable storage engine for MySQL. It allows you to map everything that can be accessed in a table fashion into MySQL. Datatypes, Indexing, ... everything is exposed. Currently it supports Lua as scripting language, but other languages can be added later.
Provider Engine State Platforms License Release Features

Caution: MySQL does NOT provide support related to problems of one of these storage engines.

If you are aware of any storage engine not listed here, please let us know!

MySQL Forks

In the last few months there were some forks of MySQL code: