TOP
>
サーバ構築・運用
> Pluggable Storage Engine Architecture
徹底比較!! MySQLエンジン
第1回:MySQLストレージエンジンの概要
著者:
NTTデータ 藤塚 勤也
2006/8/1
前のページ
1
2
3
次のページ
Pluggable Storage Engine Architecture
MySQL社では、MySQLを「Pluggable Storage Engine Architecture」と称しています。ストレージエンジンを抜き差しできるアーキテクチャという意味と解釈してよいでしょう。このアーキテクチャを図にあらわしたのが図1です。
図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データ 藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。
INDEX
第1回:MySQLストレージエンジンの概要
はじめに
Pluggable Storage Engine Architecture
ストレージエンジンはテーブル単位