TOP調査レポート> バージョンアップにともなう変化
オープンソースの適用可能性を示す
オープンソースの適用可能性を示す

第9回:PostgreSQL vs MySQL2つのDBMSを検証する(前編)
著者:イーシステム  芝 国雄   2006/5/24
前のページ  1  2   3  次のページ
バージョンアップにともなう変化

   なお、7.2以前のバージョンを使っている場合、VACUUMコマンドを実行すると該当するテーブルがロック。バッチ処理などのプログラムは、VACUUMコマンド終了するまで待たされることがあった。そのため、使いにくい印象があったが、7.2以降のバージョンでは、VACUUMコマンドを実行している時でもデータの更新が可能になっている。

   PostgreSQLは、後述するMySQLに比べて、バージョンアップのスピードがはやいので、どのタイミングでバージョンアップするか迷うことがあるかもしれない。

   その対策を1つ授けたい。メジャーバージョンアップ直後のバージョン、たとえば、1.8から2.0にバージョンアップした場合のバージョン2.0は、安定性に欠けることがある。この点に留意して、できれば2.0から2.0.1や2.1といったマイナーバージョンアップを待つことを勧める。この対策は、ソフトウェア全般に共通していえることだ。


MySQLはOSSのDBMSとして世界一のユーザ数を誇る

   MySQLは、ユーザ数が世界で一番多いといわれているOSSのDBMSだ。LinuxをはじめUNIX、FreeBSDなど複数のOS上で使うことができて、Windows版もある。

   このMySQLのライセンス形態には、「オープンソースライセンス」と「コマーシャルライセンス」の2つがある。簡単に説明すると、前者は自らが書いたソースコードをオープンソースとして公開する場合使う。一方後者は、自分で書いたソースコードをオープンソースとして公開したくない場合に適用するものだ。詳しくは、下記をを参照してほしい。


   MySQLは、トランザクション機能が優れているといわれる。だが、小規模のシステムでは他のDBと比べてそれほどの優位性はないだろう。


ストレージエンジンとテーブルの種類

   MySQLでは、定義できるテーブルの種類がいくつかあり、これらをストレージエンジンと呼んでいる。用途に合ったストレージエンジンを使う必要があるので、それらの機能と特徴を表にまとめた(表1)。

ストレージエンジンの種類 特徴
MyISAM 検索に強い
InnoDB トランザクション
HEAP メモリ上にデータを展開して動作する
BDB Berkley DB
NDB クラスター
ARCHIVE SELECTとINSERTだけ実行可能
CSV データファイルがCSVフォーマット

表1:MySQLで定義できるテーブル(ストレージエンジン)の種類(デフォルトはMyISAM)

   このようにデータの保存形式をその用途にあわせることで、最大のパフォーマンスを引き出せる仕組みになっているのだ。この仕様はPostgreSQLにはない。基本的に、処理速度を優先するならMyISAM、機能面を優先するならInnoDBタイプを使うようにすればよいだろう。後で、タイプを変更することもできる。

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

イーシステム株式会社 芝 国雄
著者プロフィール
イーシステム株式会社  芝 国雄
グプタ事業部 部長
95年、日本グプタ(現イーシステム)入社。米グプタ社製品の統合開発ツールの「Team Developer」、RDBMSの「SQLBase」といった製品の日本語化をはじめ技術支援や販売、マーケティング業務に従事。主に、ユーザ企業のシステム開発の現場で、システムの設計に関わる事前調査や助言などの上流工程から、プログラミング時のトラブルシューティングまで、幅広く支援していた。2000年4月、携帯電話を活用したワイヤレスソリューション事業の立ち上げに従事。2001年、グプタ事業に専念し、現在に至る。

INDEX
第9回:PostgreSQL vs MySQL2つのDBMSを検証する(前編)
  はじめに
バージョンアップにともなう変化
  バージョン5.0では機能が豊富