誰でも使えるRDBMS
PostgreSQLとは、リレーショナルデータベース管理システム(RDBMS)です。誰でもどのような目的にも無料で使えるオープンソースのソ フトウェアです。最近ではすっかり知名度も上がり、非常に多くの方がPostgreSQLを利用されるようになりました。
これほど普及してくると利用される方の技術レベルも様々で、長らく商用RDBMSでシステム開発をされてきた方もいれば、RDBMSを扱うのは PostgreSQLがはじめてという方もいます。当然PostgreSQLの使われ方も様々で、PostgreSQLの性能を限界まで引き出すように チューニングを施している方もいれば、インストールしたままのデフォルト設定のままで使っている方もいます。
デフォルト設定とはどういう設定?
ソフトウェアのデフォルト設定を「開発者の推奨設定」と捉える方がいらっしゃいます。しかし残念ながらPostgreSQLにおいては成り立ちません。それではPostgreSQLのデフォルト設定とはどういう設定なのでしょうか。
実はロースペックなサーバ上でも動作できるように、必要なリソース量を最低限に絞った設定なのです。もちろん性能も絞られることになります。ですか ら、たとえ大量のメモリと大量のハードディスクを搭載した高性能サーバを用意したとしても、PostgreSQLの設定がデフォルトのままならサーバリ ソースの大半は使われずに無駄となります。性能の方もロースペックなサーバで動かした場合と同程度しか発揮できなくなり、これは非常にもったいない状況で す。
PostgreSQLは本当に遅い?
さて、PostgreSQLのデフォルト設定が想定している「ロースペックなサーバ」とはどの程度のサーバのことを言っているのでしょうか?
それは、おおよそ64Mバイト程度のメモリを搭載したサーバだと思って頂いて結構です。最近のサーバマシンであれば、メモリを数Gバイト積んでいる のも珍しくありませんから、ほとんどの場合において「デフォルト設定のままではダメ!」なのです。このような状況のPostgreSQLサーバに心当たり はありませんか?
インターネット上にはPostgreSQLと他のRDBMSとを比較しているWebサイトがいくつかありますが、中にはなんとPostgreSQL のベンチマーク試験をデフォルト設定のままで行っている例もあります。当然ながら、そういう比較試験においてPostgreSQLは散々な結果となってい るわけですが、これが本当の性能なのでしょうか?
この連載では、たくさんあるPostgreSQLの設定項目の中から、是非とも調整して欲しい項目をピックアップしていきます。そして項目を調整す るごとにベンチマーク試験を行い、ステップごとにどのように性能が向上されていくかを紹介します。最終的に性能が何倍に向上するかは、連載が終わったとき に明確になっていることでしょう。