ベンチマークで基本能力を比較してみる
さて、これまでアーキテクチャや機能などについてOracleとPostgreSQLを比較してきました。今回からは、実環境でベンチマークを行い性能面での違いを検証してみます。
まず先に注意していただきたいのですが、ベンチマークというとすぐに結果の数値のみを見て優劣を判断してしまいがちですが、ある限られた環境下でのテスト結果のひとつに過ぎない事を忘れないで下さい。
特にデータベースを用いたアプリケーションの場合、性能差はデータやアプリケーションに依存する割合が高く、サーバ側の性能のみで論じられるほど簡 単に評価はできません。実際のところは、現実に即した環境下でアプリケーション、データを揃えた上でテストしなければ、そのシステムに対する比較データを 得る事はできません。
システムやアプリケーションによる総合的なテストは本来の環境で自ら確認していただくとして、ここではもっと単純な部分でOracleとPostgreSQLを比較してみたいと思います。
テスト環境
小規模サーバ向けのPCにMiracle Linux V3.0(IA32版)をインストールし、OracleとPostgreSQLをインストールします。スペックはPentium 4 3.2GHzの1CPU、2GB Memory、SATAハードディスク2つという環境です。OSがインストールされているディスクに実行モジュールを置いたまま、データベースを構成する ファイルのみを別ディスクに配置しました。
メモリ上のバッファサイズなどはPostgreSQL、Oracleで共通になるよう調整しました(表1)。
| Oracle | PostgreSQL | 設定サイズ |
| db_cache_size | shared_buffers | 200MByte |
| sort_area_size | sort_mem | 64K |
他は基本的にデフォルト設定のまま使用しています。また、使用した表(テーブル)の定義は、下記を基本としています。
| create table 社員表 ( | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|