TOPサーバ構築・運用> はじめに
徹底比較!! MySQLエンジン
徹底比較!! MySQLエンジン

第4回:CSVとBlackhole
著者:NTTデータ  藤塚 勤也   2006/9/12
1   2  3  次のページ
はじめに

   今回は、CSVとBlackholeの2つのストレージエンジンを取り上げます。CSVエンジンとBlackholeエンジンは、共にMySQL 4.1から提供された比較的新しいエンジンです。以降ではそれぞれの特長やテーブルファイルの構成について解説します。

CSVエンジン

   CSVエンジンとは、テーブルデータをCSV(Comma Separated Value)形式のテキストファイルにてディスク上に格納するストレージエンジンです。

   テーブルデータをCSVファイルにて格納するメリットは何でしょうか。それは、他のソフトウェアとのデータ交換が容易にできることです

   例えば、MySQLを使用して作成したテーブルデータをExcelなどの表計算ソフトウェアに渡す場合を考えます。その対象テーブルがMyISAMエンジンなどの場合は「SELECT ・・・ INTO OUTFILE」文や他のバックアップツールなどを使用して、一度テーブルデータをCSVなどのテキストファイルに書き出します。そして、その書き出したファイルを表計算ソフトウェアに渡すことになると思います。

   ところがCSVエンジンを使用すると、テーブルデータそのものがCSV形式のファイルですので、そのファイルを表計算ソフトウェアに渡せば良いのです(図1)。

CSVテーブルのデータ交換例
図1:CSVテーブルのデータ交換例


CSVのテーブルファイル

   テーブルを作成する際、CREATE TABLE文のENGINE句に"CSV"を指定することにより、CSVテーブルを作成することができます。CSVテーブルを作成すると、そのデータベースのディレクトリ内に、どのようなカラム構成にてできているかなどのテーブル構造のデータが格納された「テーブル名.frm」とテーブルデータを格納する「テーブル名.CSV」の2つのファイルが作成されます。

   次に示すは、「CSV_TEST」データベース内に「TEST00」という名前のCSVテーブルを作成した時のファイル一覧です。「CSV_TEST」ディレクトリ内に「TEST00.frm」ファイルと「TEST00.CSV」ファイルの2つが存在していることがわかると思います。

[root@localhost var]# ls CSV_TEST/
TEST00.CSV TEST00.frm

   なお、CSVエンジンはインデックスをサポートしていないため、インデックス用のファイルは存在しません。

1   2  3  次のページ


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

INDEX
第4回:CSVとBlackhole
はじめに
  テーブルデータがテキストファイルであるメリット
  Blackholeテーブルのファイル構成