米Microsoftには, SQL Serverによる顧客のミッションクリティカル・システム構築を技術支援するチームがある。正式名称は「SQL Server Customer Advisory Team(カスタマ・アドバイザリ・チーム)」で,「CAT(キャット)」という略称で呼ばれる。SQL Server 2000をリリースした2000年に活動を開始したが,SQL Server製品開発チームもCATの知識を参考に次期版を設計しているほどだという。同チームのメンバーに日ごろの業務内容やSQL Serverの強みなどを聞いた。
インタビューに応じてくれたのはいずれもCATのメンバーで,写真左から順に,Mark Souza氏,Tom Davidson氏,Stuart Ozer氏,Howard Yin氏。(聞き手は,干場一彦=日経SYSTEMS編集委員)
--どのような内容の仕事か?通常のコンサルティング・サービスとは異なるのか?
Mark Souza氏:CATは業務の75%の時間を,米MicrosoftのRedmond本社のラボではなく,世界にいるSQL Serverの大手顧客のところで費やしている。CATの目的は三つある。第一は,大規模なシステムを展開している顧客のシステム構築を支援して参照事例にし,他の顧客の参考にしてもらうことだ。第二は,より重要なのだが,CATのメンバーが顧客から学習して,SQL Serverの製品仕様に反映し,エンタープライズの要件に応えられるようにすることである。第三は,第二と同様にチームが顧客から学習することでSQL Serverのコミュニティに情報をフィードバックして,コミュニティの実力を上げることだ。われわれはトレーニングの専門家ではないが,顧客と接したときの経験を提供して参考にしてもらっている。社内的には,当社のコンサルティング・サービスのコンサルタントのコンサルタントという位置付けだ。
Stuart Ozer氏:Redmond本社には,カスタマー・ラボがある。そこへ顧客を招待した際の各種調整も行っている。システム設計を検証したり,アプリケーションの拡張性のテストをしたり,システムのチューニングをしたりしている。顧客が興味を持った機能を担当するエンジニアと顧客を引き合わせることもある。顧客と当社エンジニアの交流を助けて,長期間にわたる関係を築く。
--SQL Serverはチューニングを自動的に行うが,大規模なシステムでは特別な知識や調整が必要になるのか?
Mark Souza氏:SQL Serverは,小規模から大規模システムに至るまで自動チューニングや自動構成が可能になっている。ただし,どのアプリケーションについても言えるが,ハイエンド領域では,システムの成功に独特の経験が必要だ。そこでCATのアドバイスが生きる。アドバイスの範囲は,SQL Server本体にとどまらない。ハードウエアやストレージ,他のソフトウエア・コンポーネントとの連携にまで及ぶ。
Stuart Ozer氏:アプリケーションの設計を効果的に行うことも重要だ。それによりネットワークの挙動,クエリーの挙動,インデックス作成などをチューニングして最高のパフォーマンスが出せるようにする。
--どのくらいの規模のシステムを手掛けるのか?
Stuart Ozer氏:数々のデータウエアハウスやOLTP(Online Transaction Processing)システムの構築に携わってきたが,例えば,米国の大手通信会社Verizon Communicationsがある。コールセンターのアプリケーションのためにSQL Serverを10~15インスタンス使用して全部で50T(テラ)バイトのデータを扱っている。また,デンマークのDansk Supermarket Groupという北欧の大手小売業で5Tバイトのデータウエアハウスのシステム構築を支援した。CATが扱う最近のデータウエアハウスは1Tバイトを超え,5Tバイトや10Tバイトに達することもよくある。
Tom Davidson氏:OLTPの領域においては1秒当たり数千トランザクションというアプリケーションをSQL Serverで実現している。例えば,米投資銀行のBarclays Capitalでは,FIXED INCOME(確定利付証券)の取引というミッションクリティカルなアプリケーションを扱った。また,ストレージ・メーカーWestern Digitalでは工場の制御のアプリケーションにSQL Serverを使っている。このように製造ラインから銀行まで幅広くSQL Serverが利用されている。
Howard Yin氏:韓国最大の通信業者KT(通称Korea Telecom)では,SQL Serverを用いてミッションクリティカルなOSS(Operations Support Systems)環境を展開している。このアプリケーションをサポートするために,64プロセッサ,64ビットのHP Superdomeのシステムを多数稼働させている。
Mark Souza氏:「SQL Serverにはスケーラビリティがあるのか,ミッションクリティカルなアプリケーションで使えるか」という質問が顧客から来たときは,これまでの実績を伝えるだけで十分という状況だ。ここで紹介した以外にも数多くの事例がある。2000年にこのチームを結成したときには,SQL Server上で数テラバイトものデータを扱っている事例は少なかった。それが,今では数百社に達している。
--日本でもSQL Serverのパフォーマンスや信頼性に関する評価は上がっているが,UNIXシステムに対する評価も非常に高い。SQL Serverならではの訴求点は?
Mark Souza氏:訴えたいことは二つある。第一は,大規模なアプリケーションが稼働するシステムの参照事例を調べていただきたいということだ。第二に,一般に公開されているベンチマーク・テストを調べていただきたい。TPC-C,TPC-H,SAP(Standard Application Benchmarks)などがある。それらを見れば,SQL Serverのスケーラビリティや信頼性が高く,競争力を持っているということが分かるはずだ。コスト・パフォーマンスも優れている。メインフレームやUNIXを持つ多くの顧客から,コスト効果が最も高いとして,SQL ServerとWindowsの組み合わせに移行したいという相談を受けている。
--日本では,UNIXとJavaで作るミッションクリティカル・システムが多いが,WindowsとSQL Serverの組み合わせの利点は?
Mark Souza氏:第一に,私どものプラットフォームはJavaにも対応していることをお伝えしたい。とはいえ,SQL Serverのアプリケーション開発環境はさらに充実しており,これはMicrosoftの最も大きな強みの一つになっていることを最も強調したい。例えば,.NET Frameworkとの緊密な統合,それからXML(Extensible Markup Language)処理の強化,サービス・ブローカーといった機能がSQL Server 2005に備わった。これらによりこの製品は,最も堅牢なデータベース・アプリケーションの開発プラットフォームにもなっている。特に.NET Frameworkとの緊密な統合によって,データベース・アプリケーション開発の柔軟性が向上した上に,開発スピードが向上できる。これまでもTransact-SQLというSQLを拡張した言語を用意していた。しかし,Transact-SQLでは100行必要だったコードが,.NETでは10行で済むという例がある。