MySQL 5.1は次のストレージエンジンをサポートします。
MyISAM
—デフォルトのMySQLストレージエンジンと、ウェブ、データウェアハウス、そしてその他のアプリケーション環境で一番利用されるストレージエンジンです。MyISAM
は全てのMySQLコンフィギュレーションの中でサポートされています。そして、MySQLに他のストレージエンジンを設定しない限り、これがデフォルトとして利用されます。
InnoDB
—
トランザクションプロセスアプリケーションに利用され、ACIDトランザクションサポートや外部キーなどを含む、複数の特徴をサポートします。InnoDB
は全てのMySQL 5.1
バイナリディストリビューションの中にデフォルトとして含まれています。ソースディストリビューションの中では、好きなようにMySQLを設定する事によって、エンジンを有効にも無効にもできます。
Memory
—
参照事項や迅速なデータ検索を必要とする環境で、きわめて高速なアクセスで全てのデータをRAMの中に格納します。このエンジンは以前は
HEAP
エンジンとして知られていました。
Merge
— MySQL DBAや開発者が、一連の同一
MyISAM
テーブルを論理的にグループ化し、それらを1つのオブジェクトとして参照付ける事を可能にします。
VLDB
データウェアハウスと同じで、VLDBに効果的です。
Archive
—
サイズが大きいほとんど参照されない履歴、アーカイブ、セキュリティ監査情報を格納したり、検索する為の完璧な解決法を提供します。
Federated
—
いくつもの物理的サーバーから、別々のMySQLサーバーをリンクさせて1つの論理データベースを作成する能力を提供します。
分散、またはデータマート環境に大変効果的です。
NDB
—
高い検索機能と、できるだけ長い稼働時間を必要とするアプリケーションにぴったりな、クラスタ化されたデータベースエンジンです。
CSV
—
ストレージエンジンはコンマ区切りの値を使ったフォーマットでデータをテキストファイルに保存します。CSV
エンジンは、
CSVフォーマットにインポート・エクスポートする事ができる他のソフトやアプリケーション間でデータを簡単に交換する為に利用する事ができます。
Blackhole
—
ブラックホールストレージエンジンはデータの受け入れはしますが、格納はせず、検索しても結果は得られません。
この機能性は、データが自動的に複製される分散型のデータベースデザインの中で利用できますが,局所的に格納はされません。
Example
— このストレージエンジンは
「スタブ」
エンジンで実装されており、何の機能も持ちません。このエンジンを利用してテーブルを作成できますが、データの格納も検索もできません。このエンジンの目的は、MySQL
ソースコードの中で新しいストレージエンジンを作成する方法を説明する為の、見本の役割を果たす事です。それ自体は、ソフトウェア開発者向のものです。
この章では、章 14. MySQL Clusterで紹介されているNDB
Cluster
以外のMySQLストレージエンジンについて説明します。
サーバやスキーマ全体に同じストレージエンジンを利用しなければいけないという制限はないという事を覚えておいて下さい。スキーマの中のそれぞれのテーブルに違うストレージエンジンを利用する事ができます。