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 Open Source License
http://www.mysql.com/products/opensource-license.html
MySQL Open Source License
http://www.mysql.com/products/commercial-license.html
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では機能が豊富