- 2008年8月10日 22:41
- DB
共にフリーのデータベースとして有名な MySQLとPostgreSQL。
今年の2月に、サン・マイクロシステムズによる買収があったこともあり、ちょっと話題のMySQL。
じゃあ一方のPostgreSQLは… 
ちょっとさみしい気がして(本当に個人的に)、
2つの違いを見てみることにしました。
ところがこの2つ、リリースの時期も大差なく、ライセンスの方式は違うものの、
一定の範囲内であれば無償で利用できる。
さらにOS面。PostgreSQLはバージョン8.0からWindowsに正式対応。
機能面でも、MySQLはバージョン5.0での機能追加で、
今まで PostgreSQLと比較して足りなかったものを補った形です。
そういえば名前もちょっと似てますかねぇ…
しかし、全く違う点があるんです。 
どちらもクライアントからSQL文を発行することで、サーバのデータベースへ問い合わせを行う設計になっています。
しかし、違いはSQLを受け取ったサーバ側の動きにありました。
MySQLが マルチスレッド構成なのに対し、 PostgreSQLは マルチプロセス構成なのです。 
データベースは、複数のユーザーからの問い合わせを同時に、並行して行う機能が必要です。
その方法として、マルチスレッド構成と マルチプロセス構成があります。
マルチスレッド構成は、 複数のユーザーから接続されても、起動されるアプリケーションは1つです。
その中にスレッドという小さな処理を複数作成し、それらのスレッドが並行して同時に処理を行います。
つまり、小さな処理のためアプリケーションの起動が早いという利点があります。
一方のマルチプロセス構成は、ユーザーからの接続ごとにアプリケーションを起動し、同時にいくつも並行して処理を行う方法です。
それぞれのアプリケーションが独立しているため、安定性が高いことが利点です。
何でも、良い面もあれば、足りない部分もあるものです。 
それぞれの特長を生かして、目的に合ったデータベースを選択することが重要なようですね。 
- 次の記事へ: Bluetooth
- 前の記事へ: なんでもできるインターネット
