第1回:MySQLストレージエンジンの概要 (2/3)

徹底比較!! 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に記載したストレージエンジンはその中でも代表的なものです。

ストレージエンジン概要
MyISAMMySQL標準のストレージエンジンとして使用される
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
 ストレージエンジンはテーブル単位
徹底比較!! MySQLエンジン
第1回MySQLストレージエンジンの概要
第2回MyISAMとInnoDB
第3回MemoryとArchive
第4回CSVとBlackhole
第5回Federatedエンジン
第6回ストレージエンジンの処理性能比較

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored