TOPサーバ構築・運用> Pluggable Storage Engine Architecture
徹底比較!! MySQLエンジン
徹底比較!! MySQLエンジン

第1回:MySQLストレージエンジンの概要
著者:NTTデータ  藤塚 勤也   2006/8/1
前のページ  1  2   3  次のページ
Pluggable Storage Engine Architecture

   MySQL社では、MySQLを「Pluggable Storage Engine Architecture」と称しています。ストレージエンジンを抜き差しできるアーキテクチャという意味と解釈してよいでしょう。このアーキテクチャを図にあらわしたのが図1です。
Pluggable Storage Engine Architecture 出典:MySQL AB Whitepaper
図1:Pluggable Storage Engine Architecture
出典:MySQL AB Whitepaper
(画像をクリックすると別ウィンドウに拡大図を表示します)

   図1ではMySQLサーバ内の構造を中心に図示しており、パーサやオプティマイザの配下に複数のストレージエンジンがプラグのマーク付きで示されています。そして、複数のストレージエンジンの配下にユーザデータファイルやログファイルを持つファイルシステムが記されていることがわかると思います。

   このようにストレージエンジン部分がモジュール化されたアーキテクチャは、アプリケーションの特性の違いによって適したストレージエンジンを使用できるといったメリットを生みます。

   またアプリケーション開発者は、図1の上部にあるConnector APIを通してMySQLにアクセスするため、ストレージエンジンの違いを意識する必要はありません。


ストレージエンジンの種類

   MySQLのバージョン5.0以上では、数多くのストレージエンジンを使用することがでます。表1に記載したストレージエンジンはその中でも代表的なものです。

ストレージエンジン 概要
MyISAM MySQL標準のストレージエンジンとして使用される
InnoDB 行ロックとトランザクションをサポートする
Memory メモリ上にテーブルを配置する
Merge 複数のMyISAMテーブルを統合する
Archive 圧縮したデータベースを使用する
Federated リモートのデータベースを参照する
NDB クラスター構成にて使用される
CSV データファイルにCSVを使用する
Blackhole ダミーテーブルを使用する

表1:ストレージエンジンの一覧

   数多くあるストレージエンジンは、開発元の違いにより大きく3種類に分けることができます。MySQL社純正のもの、MySQLのパートナー会社が開発しているもの、コミュニティ活動にて開発しているものです。

   MySQL社純正のものには、MyISAM/Memory/Archiveなどがあります。現在、さらにFALCONという新しいストレージエンジンが開発されています。

   MySQLのパートナー会社が開発しているものとしては、InnoDBが代表格です。InnoDBストレージエンジンを開発していたInnobase社がOracle社に買収されたのは記憶に新しいと思います。また、他にはsolidDBと呼ぶストレージエンジンがあります。

   コミュニティ活動にて開発しているものには、特定のアプリケーションに対象を絞ったものが多く、PrimeBaseXTなどがあります。

前のページ  1  2   3  次のページ


株式会社NTTデータ  藤塚 勤也
著者プロフィール
株式会社NTTデータ   藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。

INDEX
第1回:MySQLストレージエンジンの概要
  はじめに
Pluggable Storage Engine Architecture
  ストレージエンジンはテーブル単位