さまざまなコミュニティが開発主体となり、早くから日本語に対応しているPostgreSQLは、日本で最も普及しているOSSデータベースといえるだろう。新バージョンが発表されれば、NPO団体である日本PostgreSQLユーザ会がすぐに関連ドキュメントをリリースするので、安心して利用できる。
PostgreSQLの特長は、追記型アーキテクチャ、多版同時実行制御(MVCC)とVACUUM機能にあるだろう。追記型アーキテクチャとはデータが更新されても古いデータを残し(フラッグを立てる)、新データを末尾に追記する方式。これによりテーブルロックの必要なく新データがコミットされるまでは旧データを読むことができ、データの一貫性が保たれる。
しかし、この方式では旧データが増加してしまうので、これらの領域を再利用できるようにしなければならない。それを行うのがVACUUM機能だ。不要領域を減らすだけの方法とさらにデータ圧縮を行う方法がある。
PostgreSQLは、現在の8.1から2フェーズコミット、テーブルパーティション、バッファ管理機能の変更によるSMP構成のリニアな性能向上を果たした。
このようなOSSデータベースの機能は、商用データベースと比較すると「何と遅れているのだろう」と思われるかもしれない。事実、これらの機能は商用データベースでははるか以前からサポートしていたものである。言い換えれば、OSSデータベースがエンタープライズレベルを意識し始めたといえるかもしれない。
また商用データベースからOSSデータベースへの移行に際しては留意すべき点がある。データそのものの移行は現在、多くのツールによって比較的スムーズに行うことができるが、現状ではストアドプロシージャやトリガなどは言語(文法や機能)に依存しており、カスタム開発が必要になる。
さらにディスク領域、ログ管理、セキュリティ管理など運用管理ツールが不足している点も、OSSデータベースが商用データベースに比べ、エンタープライズ分野で利用しにくい要因となっている。
そこでNECでは、MySQL、PostgreSQL向けに障害監視ツール、メンテナンスツールを2006年10月より提供する。
この障害監視ツールは、監視リポジトリサーバのデーモンが各Linuxサーバ上のOSSデータベースを監視し、障害があれば監視クライアント(Windows)にアラート画面とともに詳細情報や対処方法を表示する。監視項目は、状態、構成、ストレージ、セキュリティ、ログ、パフォーマンスなどで、これらをレポート(月次、週次、指定範囲内)にまとめたり、障害の原因追求のためのスナップショットを作成することもできる。
また、PostgreSQLについては高速ロードツールで通常のCOPYの100倍の速度(定義列数20、定義列の合計長200バイト、データ件数1000万件、インデックス数は3〜5個の場合)を実現している。データベース診断ツールでは、データブロックとインデックスの整合性を監視し、障害の発生源の切り分けを行うとともに利用可能なデータを救出する「サルベージ」機能も搭載する。
サポート体制としては、NECシステムテクノロジーがMySQLのパートナー会の設立メンバーであるため、構築前のコンサルテーションから構築後のサポート(年間契約/スポット契約)まで、場合によりMySQLと共同で行っていく。
こうしてOSSデータベースはようやく機能的にもツールやサービスの面でもエンタープライズレベルを視野に入れ始めた。今後、さらに充実したツールを提供できるか、あるいは移行コストをどのように圧縮できるかが、市場拡大の成否の鍵を握るだろう。