また、その他のサポートとしてはバンドル以外のOSSもサポートを行い、Web上に存在する様々なコミュニティーと連携してソフトウェア改良のサポートを行っているとのことだ。
「OSSというと、パフォーマンスやスケーラビリティの点で商用ソフトと比較して劣ると思っている方がいらっしゃいます。こうした不安を払拭するために、サンの技術者が積極的にコミュニティーと連携して、様々な情報提供や技術サポートを行い、性能向上やSolarisとの親和性向上が図られています」(田邉氏)
実際、PostgreSQLに関しても、8.1から8.2へのバージョンアップ時にCPUスケーラビリティの向上や、ソースコードにDTraceのプローブを組み込むなど、さまざまな改良が行われたという。CPUスケーラビリティの向上に関しては、実際にテストした環境で8CPUまでほぼリニアに性能向上が見られるという結果も出ている。
Sun Fire T2000を使用した8CPUのスケーラビリティテスト
このスケーラビリティテストの結果や最初に挙げた商用データベースとの比較に関しても、Ultra SPARC T1の性能と、それに対応したPostgreSQLへサンが技術提供を行うことにより実現したものである。CPUスケーラビリティの向上、そして実行中のサーバから情報を常時取得できる「DTrace」機能とPostgreSQLの連携に関して永安氏は次のように語る。
「OSS開発の主なプラットフォームであったLinuxがPC用OSとしてスタートしたこともあり、CPUスケーラビリティという点では不十分でした。この点に対するソリューションを探していたところに、Solarisがオープンソース化されたこともあり、すんなりと違和感なく利用していましたね。サンから提供して頂いた技術情報は、CPUスケーラビリティの向上にも大きく役立っています。また、データベースだけでなく、業務システムを構築する上ではパフォーマンス低下の理由などを調査する仕組みがOSSはまだまだ弱いと考えています。そのひとつとして、DTraceを利用することでトランザクションの推移やロックの状況などのステータスを取れるようになったことは、それらを手助けするものですし、このような仕組みが整っていけばPostgreSQLはもっと良くなっていくと思います」
一般的にパフォーマンス解析ツールは個々のアプリケーション上で実装しているものも多い。例えばウェブアプリケーションサーバではJava VMに手を加え、独自の実行情報取得を可能にしてパフォーマンス解析を実現しているものもある。このようにすれば、アプリケーションサーバが利用するJava VMの影響する範囲でのパフォーマンスに関する情報を取得できる。しかし、複数のアプリケーションが連携する場合、個々のアプリケーション内でのボトルネック調査しかできなく、ファイルI/OなどのOS管理下の処理に関しては詳細な情報を取得できない。これに対してDTraceは情報取得の仕組みを独自に実装しなくてもOSから情報を取得できるので、アプリケーションだけでなくシステム全体で、どの部分がボトルネックになっているのかを詳細に取得できる。
今回のPostgreSQLのDTrace対応はSolaris 10 8/07にバンドルされたPostgreSQL 8.2だけでなく、正式なソースコード上にマージされているので、コンパイル時に指定することで有効にできるようになっている。当然、SolarisバンドルのPostgreSQLパッケージでは有効な状態でコンパイルされているので、すぐに利用できるようになっている。