MariaDB/Storage Engines

From Wikibooks, open books for an open world
Jump to navigation Jump to search

MariaDB includes all the Storage Engines which are included by MySQL 5.1, except for ClusterDB, IBMDB2I and Example.

In addition, it includes some more Storage Engines.

Aria[edit | edit source]

The Aria storage engine is compiled in by default in MariaDB 5.1 and it is required to be 'in use' when mysqld is started.

Additionally, internal on-disk tables are in the Aria table format instead of the MyISAM table format. This should speed up some GROUP BY and DISTINCT queries because Aria has better caching than MyISAM. The inclusion of Aria is one of the differences between MariaDB 5.1 and MySQL 5.1.

PBXT[edit | edit source]

The PBXT storage engine is included in the MariaDB source and binaries by default.

PBXT versions in various releases are:

version 1.0.11 in MariaDB 5.1.47 version 1.0.08d in MariaDB 5.1.44b PBXT is a general purpose transactional storage engine. PBXT is fully "ACID" compliant, which means it can be used as an alternative to other MariaDB transactional engines (such as XtraDB or InnoDB).

PBXT features include the following:

  • MVCC Support: MVCC stands for Multi-version Concurrency Control. MVCC allows reading the database without locking.
  • Fully ACID compliant: This means that all transactions are: atomic, consistent, isolated and durable.
  • Row-level locking: When updating, PBXT uses row-level locking. Row-level locking is also used during SELECT FOR UPDATE.
  • Fast Rollback and Recovery: PBXT uses a specialized method to identify garbage which makes "undo" unnecessary. This make both rollback of transactions and recovery after restart very fast.
  • Deadlock Detection: PBXT identifies all kinds of deadlocks immediately.
  • Write-once: PBXT uses a log-based storage which makes it possible to write transactional data directly to the database, without first being written to the transaction log.
  • Referential Integrity: PBXT supports foreign key definitions, including cascaded updates and deletes.
  • BLOB streaming: In combination with the BLOB Streaming engine PBXT can stream binary and media directly in and out of the database.
  • PBXT will not take any resources (disk space or CPU processing) until you create your first PBXT table.

XtraDB[edit | edit source]

XtraDB is a fork of InnoDB created and maintained by Percona.

XtraDB is completely compatible with InnoDB. The InnoDB codebase is constantly updated when new InnoDB versions are released. Percona applies to it several patches, which fix known bugs and add new features.

XtraDB's documentation: http://www.percona.com/docs/wiki/percona-xtradb:start

In most builds, InnoDB is disabled and XtraDB is instead installed under the name InnoDB. This means that if you specify InnoDB you actually get XtraDB.

FederatedX[edit | edit source]

FederatedX is based off of the Federated Storage Engine, which is no longer maintained. It is an attempt to move 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.

FederatedX at Launchpad: https://code.launchpad.net/federatedx