読者の皆さんにはあまりなじみがないかもしれないが,CodePlexは,Microsoftがオープンソースのライセンス・モデルに基づいて運営しているWebサイトだ。現在CodePlexには2000件以上のプロジェクトが存在し,その数は増え続けている。中にはSQL Serverに直接関連のあるプロジェクトも50件以上あり,そのほか何らかの形でデータベース・テクノロジに関連するプロジェクトも数多く存在する。

 筆者が見た限りでは,ほとんどのソリューションはMicrosoftのテクノロジを中心に構築されている。しかし,必ずしもMicrosoftテクノロジを中核に据えたり,それを使用して構築されたプロジェクトである必要はない。Microsoftは,CodePlexに投稿されているコードの品質を保証しないし,それに対するサポートを提供することもないと明言している。Microsoftの立場は,CodePlexがオープンソースコードのリポジトリとして機能できるインフラストラクチャを提供するだけだ。

 今回のコラムでCodePlexを紹介しようと思ったのは,CodePlexに投稿されたあるプロジェクトが筆者の注意を引いたからだ。このプロジェクトは「DMVStats」と呼ばれ,7月にCodePlexに投稿された。

 筆者はパフォーマンス・チューニングに強い興味があり,SQL Server 2005で初めて導入された「動的管理ビュー(DMV: Dynamic Management Views)」を研究するように読者に再三勧めてきた。動的管理ビューは,SQL Serverエンジンの内部領域を調べることができる,筆者にとってはほとんど魔法のような機能だ。しかし,CodePlexでは動的管理ビューが使われることはほとんどないし,それを使って情報を掘り起こすための専用ツールを作成するソフトウエア・ベンダーもほとんど存在しない。

 DMVStatsは,SQL Serverの動的管理ビューから重要なパフォーマンス・チューニング・データを収集する処理を自動化し,収集したデータをパフォーマンス指向のデータ・ウエアハウスにロードするツールである。また,データを操作するためのレポーティングツールや視覚化ツールも実装されている。

 DMVStatsの作者であるTom DavidsonとSanjay Mishraが,Microsoft SQL Server Development Customer Advisory Best Practicesチームのメンバーであることも特筆すべきだろう。このチームは,“世界で最も重大で最も困難な”SQL Serverの問題に対応するためのMicrosoftのチーム「SQLCAT (SQL Server Development Customer Advisory Team)」内に,最近新たに設けられた。SQLCATは,困難な問題を解決しようとする顧客を支援するだけでなく,その際に得られたフィードバックや教訓を製品開発チームに伝えたり,SQL Serverコミュニティに伝達する活動も行っている。その中でMicrosoft SQL Server Customer Advisory Best Practicesチームは,SQLCATが学習し,定義したベストプラクティスをSQL Serverコミュニティと共有する作業を担当する。

 パフォーマンス・チューニング,DMVの謎を解く無料ツール,SQLCATが世に送り出した傑作,このような言葉を耳にして,筆者がこの掘り出し物のチューニングツールを見逃せるわけがない。筆者は,SQLCATがその知識をブログやホワイトペーパーで公開するだけでなく,ツールを通じて広めようとする長期戦略を立てており,その先駆けとしてDMVStatsが世に送り出された,という可能性に興味をそそられた。

 TomとSanjayに尋ねたところ,SQLCATはDMVStatsをはじめとする同様のツールに今後も長期的に投資することを計画しているとしている。Tomによると,SQLCATは,SQL Server 2005やSQL Serverの今後リリースされるバージョンの重要なツールとして,DMVStatsが頭角を現すと考えているという。彼らはさらに,SQLCATがDMVStatsをリリースした当初の目標は,教育用ツールにすること,すなわちパフォーマンス・チューニングに対する取り組み方を普及させ,SQLCATの持つ専門的知識やガイダンスを組み込むことだということを教えてくれた。

 今後,DMVStatsを収集エージェントとして使用したリモート集中監視機能が強化されれば,複数のSQL Serverを単一のDMVStatsコンソールから監視できるようになるかもしれない。