You are here

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.
Aria (ex. Maria) Seems to have no future within MySQL. See 3rd party providers and MariaDB.
MRG_MYISAM Should not be used any more. Use partitioning option (MySQL 5.1) instead.

3rd party Storage Engine providers

If you think some of the information below is inappropriate or missing please let us know!

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.
Monty Program AB Aria SE GA Linux, Solaris, Windows, etc. GPL v2 Crash Safe MySQL Storage Engine. Successor of MyISAM.
Alex Esterkin Ariella SE pre-Alpha GPL v2 Discontinued? 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 v0.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.
Softmethod GmbH BlackRay GPL v2 v0.10 The BlackRay Storage Engine is a fully relational database system designed to offer performance features commonly associated with search engines. It offers SQL support, JDBC and ODBC driver options.
Toru Maesaka BlitzDB SE GPL v2 Highly efficient general purpose use DB. Non-transactional competition to MyISAM and MEMORY engines. Developed with Drizzle.
OblakSoft ClouSE Beta Linux Proprietary v1.0 ClouSE provides fully functional, transactional and ACID-compliant relational data management on top of cloud storage such as Amazon S3 (that may provide only basic capabilities and eventual consistency guarantees). ClouSE implements data encryption to provide full data confidentiality in the cloud, so cloud storage can be "plugged into" MySQL in a seamless and secure manner.
DDE Distributed Data Engine Alpha GPL v0.2 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.5 DWH data compression.
FederatedX FederatedX Beta GPL v0.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
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 v1.0 for MySQL 5.0.x, 2006-04-26, stalled since 2006? OLAP cube tool (DWH).
Open Query OQGRAPH 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.
PrimeBase PBXT Release Candidate (RC) Linux, OS X, Windows GPL v1.0.11-6 (pre-GA), v1.5.02 (beta), v2.0 (early development release) PrimeBase XT (PBXT) is a pluggable, transactional storage engine for MySQL. It uses a unique "write-once", log-based update strategy and MVCC (multi-version concurrency control) to provide optimal performance over a wide range of tasks.
PrimeBase PBMS Alpha Linux, OS X GPL v1.0-alpha for MySQL 5.1.19 The BLOB Streaming daemon for MySQL, the PrimeBase Media Streaming daemon (PBMS), allows you to upload and download BLOB data to and from a MySQL or Drizzle database using HTTP. For this purpose, the PBMS daemon includes a lightweight HTTP server.
3L Tools Q4M Production Ready GPL v0.9.4 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 v0.1 MySQL Storage Engine for Solid State Disks (SSD)
RitmarkFS RitmarkFS Alpha Linux, Windows GPL v0.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 v5.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 0.9.9 (GA), v1.10-beta External fulltext search engine accessible from MySQL. Scales pretty well.
Spider SpiderSE GA GPL v2 GA: v1.0, v2.24-dev A sharding Storage Engine. Supports XA and partitioning.
Tokutek TokuDB GA Proprietary v4.1 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 Discontinued? v1.5 Velocity Storage Engine: Small Footprint Database-Engine for MySQL.
Kentoku SHIBA Vertical Partitioning SE (VPSE) Alpha GPL v2 Ancestor of Spider SE? Merges tables for vertical partitioning and joins by primary key.
TangentOrg / Brian Aker Web Service Engine Alpha GPL Discontinued? 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.
Jan Kneschke 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.
Percona XtraDB GA Linux, Windows GPL v2 v12.5 Drop-in replacement for InnoDB with focus on performance and scalability.
Monti Program AB Cassandra Storage Engine Dev. Linux GPL The Apache Cassandra database is for scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware are further features. Cassandra's support for replicating across multiple datacenters, id providing lower latency for your users and can survive regional outages.
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!

See also our list of MySQL and MariaDB Plugins and UDF's.

MySQL Forks

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