数年前は PostgreSQL が優勢であったが、それは MySQL がまだ成熟していない頃の話だ。
今の MySQL はトリガ、ビュー、サブクエリも実装され、PostgreSQL と比較しても遜色ない機能を持つ。
しかし現場では、どちらを使うかで悩むケースは少ないだろう。
開発者としては普段から使い慣れている方を選ぶし、レンタルサーバであればインストールされている方を選ばざるを得ない。リスクを避けるためにもノウハウがある方を選ぶのが自然である。
MySQL にはOracle による InnoDB の買収といった不安要因があるが、MySQL、オルタナティブ提供でOracleによるInnobase買収に対抗する話もあるのでこの問題はしばらく見守っているしかない。
一方、おもしろい動きがあるので紹介しよう。
PostgreSQLをMySQL互換にする
海外では PostgreSQL よりも MySQL がメジャーである。それはPostgreSQLをサポートするオープンソース・プロジェクトは、MySQLをサポートしているものより遥かに少ないことからわかる。
この現実に業を煮やし、PostgreSQLの開発者Kings-Lynneが、PostgreSQL・MySQL互換プロジェクトに取り組んでいる。
MediaWiki、Drupal、SugarCRM、Bugzilla、Joomla!などのオープンソース・アプリケーションをPostgreSQLで動かすために、MySQLの関数100種と集計機能2種がMySQL互換関数として用意される予定である。
これは大変興味深い。というのは筆者が携わっているオープンソースアプリケーションは、両データベースをネイティブにサポートしているためだ。
共通のSQLが使えるのは全体の2割程度で、大半はそれぞれのデータベースの文法で書き換えなければならない。さらにテスト工数は単純に2倍になり開発コストを跳ね上げる。
MySQL互換関数によって一つのコードに統一することができれば、開発コストが削減でき大歓迎なのである。
■関連記事
【PostgreSQLウォッチ】第23回 本当に速いPostgreSQL 8.1
PostgreSQL8.1.1アップグレード - [データベース]All About
PostgreSQL8.1.1 - [データベース]All About