TOPサーバ構築・運用> MyISAMテーブルの圧縮モードとの比較
徹底比較!! MySQLエンジン
徹底比較!! MySQLエンジン

第3回:MemoryとArchive
著者:NTTデータ  藤塚 勤也   2006/8/29
前のページ  1  2  3
MyISAMテーブルの圧縮モードとの比較

   Archiveエンジンの目的の1つは、ディスク上でのデータ格納量を低減することです。MySQLには類似の目的を実現する手段として、MyISAMエンジンのテーブル構成の中に圧縮テーブルというものがあります。そこで、このMyISAMエンジンの圧縮テーブルとArchiveテーブルを比較しようと思います。

   まずは、それぞれのデータファイルのサイズを実際に簡単なテーブルを作成して比較します。

   比較対象のテーブルとして、ArchiveエンジンとMyISAMエンジンそれぞれで同じ構成のテーブルを作成します。そして、LOAD文を使用して、それぞれのテーブルに10万件分のCSVファイルのデータをロードします。

   次に示すのは、作成した「TEST00」テーブルの構成です。これで、同一件数のArchiveテーブルとMyISAMテーブルができあがります。ここで、それぞれのテーブルのデータファイルのサイズを取得します。データファイル名は、「TEST00.ARZ」と「TEST00.MYD」です。

TEST00テーブルの構成
`ADDR_ID` decimal(10,0) default NULL,
`ADDR_STREET1` char(40) default NULL,
`ADDR_STREET2` char(40) default NULL,
`ADDR_CITY` char(30) default NULL,
`ADDR_STATE` char(20) default NULL,
`ADDR_ZIP` char(10) default NULL,
`ADDR_CO_ID` decimal(4,0) default NULL

   次に、10万件のレコードを格納したMyISAMテーブルを「myisampack」ユーティティを使用して圧縮テーブルに変更します。そして、再度MyISAMテーブルのデータファイルのサイズを取得します。

   表3は、このようにして取得した3種類のデータファイルのサイズです。

ストレージエンジン
データファイル名
サイズ(Byte)
MyISAM 標準 TEST00.MYD 14,800,00
圧縮 TEST00.MYD 7,087,828
Archive TEST00.ARZ 8,022,820

表3:データファイルサイズの比較

   今回の簡単な実験では、「MyISAM・圧縮テーブル<Archiveテーブル<MyISAM・標準テーブル」の順に、データファイルのサイズが小さくなりました。ただし、ArchiveテーブルとMyISAM・圧縮テーブルの差はわずかでした。

   この結果は使用するデータにより圧縮度合いが異なるため、テーブル内に格納するデータの中身によっても変わってくると思います。少なくともArchiveテーブルは、MyISAM・圧縮テーブル並のディスク上でのデータ格納量低減効果があるといえます。

   また、MyISAM・圧縮テーブルとArchiveテーブルの機能的な違いとしては、表4のようなものがあります。

ストレージ
エンジン
テーブル作成
テーブルへの処理
MyISAM/
圧縮エンジン
オフラインにてコマンドラインから「myisampack」ユーティティを使用して作成 読み込み専用
Archive
テーブル
SQL文のDDLのみで作成可能 読み込みとレコードの挿入が可能

表4:機能的な比較

   このように、MyISAM/圧縮エンジンのテーブル作成の際は、別途ユーティリティを使用しなければならないのは非常に大きな差だと思います。


まとめ

   今回は、MemoryエンジンとArchiveエンジンという、ちょっと変わったストレージエンジンを紹介しました。それぞれの特長を良く捉え、適切な使い方をすることによって、大きな効果を上げることができると思います。

前のページ  1  2  3


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

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