MySQL事始 ストレージエンジン(3) 各種のストレージエンジン

EnterpriseZine / 2012年5月9日 0時0分

今回はMySQLのストレージのうち、第11回でご紹介したInnoDB以外のストレージエンジンをご紹介いたします。

■InnoDBを含む代表的なストレージエンジンの主な特徴

 InnoDBを含む代表的なストレージエンジンの主な特徴は以下の通りです。
機能 InnoDB MyISAM Memory Archive NDB 上限サイズ 64TB 256TB メモリサイズに依存 上限なし 384EB トランザクション Yes No No No Yes ロックの粒度 行 表 表 表 行 MVCC Yes No No No No 地理空間(Geospatial) データ型 Yes Yes No Yes Yes 地理空間(Geospatial) インデックス No Yes No No No Bツリーインデックス Yes Yes Yes No Yes ハッシュインデックス No No Yes No Yes 全文検索インデックス No Yes No No No クラスタインデックス Yes No No No No データ圧縮 Yes Yes (読み取り専用) No Yes No 分散型クラスタ データベース No No No No Yes 外部キー Yes No No No NoMyISAM

 MyISAMはMySQL 5.1以前のデフォルトのストレージエンジンでした。MyISAMは非常にシンプルで軽量なストレージエンジンです。シンプルな構造ゆえに参照処理の性能が高く、またファイルをOSのコピーコマンドだけでテーブルを他のMySQLサーバなどにコピー出来る高い可搬性を持っています。

 ただしここ最近のアプリケーションではInnoDBの利用が主流となり、MyISAMの利用は減っています。MyISAMはトランザクションに対応しておらず、更新処理の際はテーブルレベルロック(InnoDBは行レベルロック)のため同時実行性に大きな制約があります。さらにデータ変更中にMySQLサーバが停止してしまった場合に簡単にデータファイルが破損し、自動復旧の方法が無いことなども理由となっています。次世代のMySQL 5.6では、全文検索やGISインデックス(座標や地形情報データを格納したデータに対するインデックス)などMyISAMのみが持っている機能は全てInnoDBに実装する予定とされています。

 MyISAMストレージエンジンを使用したテーブルには通常3個のファイルが作成されます。それぞれのファイル名はテーブル名と同じになります。
ファイルの内容 拡張子 テーブル定義.frm データ.MYD インデックス.MYI

  • 前のページ
    • 1
    • 2
  • 次のページ
EnterpriseZine

トピックスRSS

ランキング