図1●MySQL Workbench 1.0.2Alpha起動画面
図1●MySQL Workbench 1.0.2Alpha起動画面
[画像のクリックで拡大表示]
図2●既存のMySQLデータベースを解析してViewに取り込み
図2●既存のMySQLデータベースを解析してViewに取り込み
[画像のクリックで拡大表示]
図3●既存のMySQLデータベースからViewに取り込んだ状態
図3●既存のMySQLデータベースからViewに取り込んだ状態
[画像のクリックで拡大表示]

 MySQL 4.0では,複数のテーブルタイプが選択できる。それぞれのテーブルタイプは,物理的なデータの格納方法やデータ処理の機能が異なっている。このように異なったテーブルタイプをサポートできるのは,異なるストレージ・エンジンを持っているからであり,MySQLの大きな特徴でもある。

 まもなくリリースされるMySQL 5.0では,さらに多くのストレージ・エンジンを搭載する。今回は,MySQL 5.0のストレージ・エンジンを紹介する。

これまでのストレージ・エンジン

 まず,MySQL 4.0に搭載されているストレージ・エンジンを説明する。MySQL 4.0では,表1のようなテーブルタイプに対応したストレージ・エンジンを使用できる。

表1●MySQL 4.0で使用できるテーブルタイプ

カテゴリ テーブルタイプ 概略
基本的なテーブルタイプ MyISAM MySQLの基本となるタイプ。テーブル単位のロック
BDB(BerkeleyDB) トランザクション,ページ単位のロックが可能
InnoDB トランザクション,行単位のロック,外部キーが可能
補助的なテーブルタイプ MERGE 同じ構造の複数のテーブル(MyISAMタイプ)を連結して1つのテーブルとする
HEAP メモリー上に作成されるテーブル。データベースの終了時に消滅する
Temporary 接続ごとにユニークなテーブルとして作成される。他の接続からは参照できない。接続終了ととも消滅する

 MySQL 4.0は,Temporaryタイプのテーブルを除いて,5種類のストレージ・エンジン(MyISAM,BDB,InnoDB,MEMORY(HEAP),MERGE)を搭載しており,テーブルタイプに対応したストレージ・エンジンで処理が実行される。

MySQL 5.0に搭載されるストレージ・エンジン

 MySQL 5.0ではストレージ・エンジンの種類は一挙に増える。従来のストレージ・エンジンに加え,新たに以下のストレージ・エンジンを搭載する。


表2●MySQL 5.0で使用できるストレージ・エンジン

ストレージ・エンジン 概略 実装されたバージョン
EXAMPLE Storage Engine評価用 4.1.3
ARCHIVE 小さい容量で大きな大量のデータを扱う 4.1.3
CSV CSVファイルにデータを格納する 4.1.4
NDB クラスタ構成用のStorage Engine 4.1.10a
BLACKHOLE 挿入されたデータを格納しないダミーのテーブルを作成する 4.1.11
FEDERATED 他のサーバのテーブルを参照(マウント)する 5.0.3

 FEDERATEDストレージ・エンジンは,MySQL 5.0からの新機能だ。他のMySQLサーバーに格納されているテーブルをローカルにあるテーブルと同様にアクセスできるようにする。

 変わったエンジンとしては,BLACKHOLEエンジンがある。挿入されたデータを格納せず,常にEmptyなので参照できない。一見無意味に思えるが,レプリケーションの際に有効である。BLACKHOLEタイプのテーブルにデータを追加すると,データは消えてしまうが,binary logには内容が記録される。そのため,マスタ側にはデータが残らないが,レプリケーション機能を通じてスレーブ側のテーブルにデータが格納される。

 次に,搭載されているストレージ・エンジンの確認方法と,新たなGUIデータベース設計ツール「MySQL Workbench」を紹介する。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら