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

第3回:MemoryとArchive
著者:NTTデータ  藤塚 勤也   2006/8/29
前のページ  1  2   3  次のページ
Archiveエンジンとは

   Archiveエンジンは、テーブルデータを圧縮してディスク上でのデータ格納量を低減することを目的としたストレージエンジンです。

   Archiveテーブルに対して使用できるSQL文には制限があります、具体的にはINSERT文とSELECT文のみ実行可能です。DELETE文やUPDATE文が実行できないということは、1度挿入したレコードを変更することができないことを意味し、改竄されることのないテーブルとして監査用データに使用することもできます。

   なお、SELECT文は実行できるものの、現行バージョンのArchiveエンジンはインデックスをサポートしていないため、必ず全件探索になります。よって、性能面については注意が必要です(将来バージョンではインデックスをサポートするようです)。


Archiveのテーブルファイル

   テーブルを作成する際に、CREATE TABLE文のENGINE句に「ARCHIVE」を指定することにより、Archiveテーブルを作成することができます。Archiveテーブルを作成すると、そのデータベースのディレクトリ内に、「テーブル名.frm」「テーブル名.ARZ」「テーブル名.ARM」の3つのファイルが作成されます。

テーブル名.frm
他のストレージエンジンと同様に、そのテーブルのカラム構成等を格納するファイル。
テーブル名.ARZ:
Archiveテーブルのテーブルデータを格納するファイルで、gzip形式で圧縮されている。
テーブル名.ARM:
Arichveエンジン独自のメタ情報を格納するファイル。

表2:テーブルファイルの役割

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

[root@localhost var]# ls Archive_TEST/
TEST00.ARM TEST00.ARZ TEST00.frm

   次はArchiveテーブルの「TEST00」に10万件のレコードをロードした状態にて、「show table status」コマンドを実行した結果内容を次に示します。

show table statusコマンドの例
mysql> show table status \G;
*********** 1. row *****************
           Name: TEST00
         Engine: ARCHIVE
        Version: 10
     Row_format: Compressed
           Rows: 100000
 Avg_row_length: 4244
    Data_length: 8022810
Max_data_length: 424400000
   Index_length: 0
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2006-08-04 14:52:41
    Update_time: 2006-08-04 14:52:41
     Check_time: NULL
      Collation: latin1_swedish_ci
       Checksum: NULL
 Create_options:
        Comment:

   なお、Archiveテーブルを構成するファイルには、もう1つ「テーブル名.ARN」というファイルがあります。このファイルは、「optimize table」コマンドをArchiveテーブルに対して実行した際に一時的に作成されるファイルです。通常は、存在していません。

前のページ  1  2   3  次のページ


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

INDEX
第3回:MemoryとArchive
  はじめに
Archiveエンジンとは
  MyISAMテーブルの圧縮モードとの比較