TOPサーバ構築・運用> MySQLストレージ・エンジンの概要
MySQL入門
MySQL 5.0超入門

第2回:ストレージエンジンを知っていますか?

著者:日本ヒューレット・パッカード   2007/7/3
前のページ  1  2
MySQLストレージ・エンジンの概要

   MySQLデータベースサーバに実装されているストレージ・エンジンとは、ディスク上の格納ファイル形式に合わせてテーブルデータを管理・格納しデータへのアクセス処理を実行する機能です。

ストレージ・エンジンの構造上の特徴

   一般的なRDBMSでは単一のデータ格納方式しかサポートされていません。MySQLデータベースは、格納機能部分にPluggable Storage Engine Architectureと呼ばれる構造を採用しているので複数のデータ格納方式をサポートすることが出来ます。

   Pluggable Storage Engine Architectureはストレージ・エンジンをモジュール化するので、テーブル毎に最適な格納方式を実現するストレージ・エンジンを選択することができます。従ってアプリケーションの特性の違いによって適したストレージ・エンジンを使用できるというメリットになっています。


ストレージ・エンジンの使用上の特徴

   JDBC、ODBC等のCONNECTORを使用してのデータアクセスにおいては、SQLの「解析」、「実行計画作成」を経て「実行処理」を対象のストレージ・エンジンに渡すためストレージ・エンジンの違いを意識せずにSQLを使用することができます。

   実際にはSQLが同じでも実行するストレージ・エンジンによって処理が異なるため、ストレージ・エンジン固有の機能(トランザクション等)は意識する必要があります。


ストレート・エンジンの提供

   ストレージ・エンジンは、MySQL AB社、MySQLのパートナー会社、コミュニティ、によって開発、提供されています。また、既成のストレート・エンジンのみならず独自のストレージ・エンジンを作成、組み込むことができます。


ストレージ・エンジンの紹介

   MySQLデータベースでは、MyISAMとトランザクションをサポートするInnoDBの2種類が主に使われています。以下に代表的なストレージ・エンジンの概略を紹介します。


MyISAM

   MySQLデータベースの標準ストレージ・エンジンです。テーブル単位ロックをサポートしディスク・ベースでは最も高速なストレージ・エンジンとされています。トランザクション機能はサポートしていませんのでデータウェアハウス等の参照系に適しています。


InnoDB

   フィンランドのinnobase社(Oracle社が2005年に買収)がオープンソース・ソフトウエアとして提供するストレージ・エンジンです。コミット、ロールバック、クラッシュリカバリの各機能を備えたトランザクションセーフ(ACID準拠)のストレージ・エンジンです。行単位ロックのサポート、マルチユーザでの並行性を確保しトランザクション機能をサポートする最も高速なストレージ・エンジンとされています。


Merge

   複数の同一のMyISAMテーブルを一つのMyISAMテーブルとして扱うことが出来ます。大きなテーブルを小さなテーブルに分割して管理を容易し、より効率的な検索や修正、作成に適しています。


Memory(Version 4.Xまでは名称がHeap)

   メモリ上にテーブルを配置するため高速な処理が可能になります。テーブルに格納されたすべてのデータは正常、障害を問わず終了時に消失するのでテンポラリテーブルに適しています。


BDB(Berkeley DB)

   カリフォルニアのSleepycat Software社(Oracle社が2006年に買収)がオープンソース・ソフトウエアとして提供するストレージ・エンジンです。ページ単位ロックとコミット、ロールバックを含むトランザクション機能をサポートしています。


EXAMPLE

   独自のストレージ・エンジンを作成する場合にサンプルとなるストレージ・エンジンです。


FEDRATED

   ローカルのMySQLのテーブルと同様にリモートのMySQLサーバーのテーブルを扱えるようにするエンジンです。


ARCHIVE

   MySQLのテーブルを圧縮してディスク上のデータ格納領域を削減するストレート・エンジンです。レコードの変更が出来ないため記録保持に適しています。


CSV

   CSV形式でディスクに格納するストレート・エンジンです。他のアプリケーションとの互換性に適しています。


BLACKHOLE

   ディスクにもメモリにも実体としてのテーブルを持たないストレート・エンジンです。


.NDB

   2003年に買収をしたAlzato社のNDB Clusterを起源とするストレージ・エンジンです。SPOF(Single Point Of Failure)が無い耐障害性、99.999%の可用性、高スケーラビリティを提供します。

ThinkIT関連記事
徹底比較!! MySQLエンジン


次回は

   MySQL ClusterとMySQLの適用事例を紹介します。

前のページ  1  2

HP OpenSource ブループリント MySQL Server 5.0概要 ver 1.0

本連載は、「HP OpenSource ブループリント MySQL Server 5.0概要 ver 1.0」からの転載となります。
日本HPのLinux/オープンソース製品に関する情報は以下のURLを参照してください。

Open Source & Linux from HP
http://www.hp.com/jp/linux/

オープンソース技術情報
http://h50146.www5.hp.com/products/software/oe/linux/summary/mwtech/index.html

日本ヒューレット・パッカード株式会社
著者プロフィール
日本ヒューレット・パッカード株式会社
日本ヒューレット・パッカードは、ITインフラストラクチャ、コンサルティング&インテグレーションサービスからPC、PDA、プリンタまで幅広い製品、サービスを提供しています。


INDEX
第2回:ストレージエンジンを知っていますか?
  MySQLデータベース製品ライフサイクル概要
MySQLストレージ・エンジンの概要