Click here to load reader

download.microsoft.comdownload.microsoft.com/.../FigureInterviewSQLServer2… · Web view「キーマン Interview : SQL Server 2005 の真実」第 1 回目は、マイクロソフトのセキュリティ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

キーマン Interview : SQL Server 2005 の真実

免責事項

本資料は、2006年3月22日から2008年2月4日まで、マイクロソフトの製品 Web ページにて全 7 回に渡って掲載された連載をまとめたものです。本書に掲載されている情報は作成された時点での情報であり、その内容は予告なく変更される可能性があります。本書に記載された情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、情報の信憑性については保証できません。

本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。

すべての当該著作権法を遵守することはユーザーの責務です。Microsoftの書面による明示的な許可なく、本書の一部または全部について、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)、および目的を問わず、禁じられています。これらは著作権で保護された権利を制限するものではありません。

Microsoft は、本書の内容を保護する特許 (申請中のものも含む)、商標、著作権、またはその他の知的所有権を保有している場合があります。Microsoft から書面による明示的な使用許諾契約書が供給される場合を除き、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。

特に断りのない限り、本書に例示した会社、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人物、場所、およびイベントは架空のもので、実在の会社、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人物、場所、あるいはイベントとは一切無関係です。

Copyright © 2011 Microsoft Corporation. All rights reserved.

Microsoft、SQL Server、およびWindows は米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。

その他、記載されている会社名および製品名は、各社の商標または登録商標です。

目次キーマン Interview : SQL Server 2005 の真実1第 1 回 マイクロソフトのセキュリティに対する取り組み1第 2 回 カリスマ コンサルタントに聞く秘伝のチューニング ノウハウ8第 3 回 ミッション クリティカルなシステムに求められるもの16第 4 回 PRIMEQUEST と SQL Server 2005 による高信頼プラットフォームの実現23第 5 回 SQL Server 2005 の進化した開発プラットフォーム30第 6 回 SQL Server と Office system の統合による BI 基盤が企業にもたらすメリット37第 7 回 無償の技術支援プログラム「Application Platform Program」44

第 1 回 マイクロソフトのセキュリティに対する取り組み

だますテクニックが発達し、財産やデータが狙われる小さい企業が踏み台にされることもある運用に入って強みが出るのが SQL Server 2005セキュリティを考えて実装された製品を使ってほしい

「キーマン Interview : SQL Server 2005 の真実」第 1 回目は、マイクロソフトのセキュリティ レスポンス チームを率いる奥天 陽司 (おくてん ようじ) です。奥天は「セキュリティ川柳道場」で有名ですが、米国との連携を密にして、日本語での情報ドキュメントをすばやく公開したり、国内外でセミナーを行ったりしているセキュリティの第一人者です。マイクロソフトのセキュリティに対する取り組みから、SQL Server 2005 がいかに真摯にセキュリティに取り組んだ製品であるかということにご注目ください。

セキュリティの脆弱性に関する情報は日米同時公開翻訳ではなく、日本の技術部門が責任を持って作成

―― まずは、仕事と最近の活動について教えていただけますか。

奥天情報セキュリティでは、「なぜ守るのか」を考えることが重要です。そこで、どうして守らなければいけないかという話をお客様と一緒に考えていくのが私の主な仕事になります。もちろん、何を守るのか、どう守るのかも重要なのですが、やはり「なぜ守るのか」が 1 番重要だと思っています。お客様とのディスカッションや講演活動などを通して、日本および海外の方々と話をし、我々に対するフィードバックをいただいて、それを開発部門やセキュリティ部門へフィードバックする、コミュニケーションを通じて我々の製品を良くしていくというのが私の 1 番のミッションです。そのほか、セキュリティの脆弱性に関する情報の公開なども行っています。

―― 最近のマイクロソフトは、セキュリティに関する情報が豊富に提供されており、セキュリティへの取り組みが非常に積極的だと感じているのですが、そのあたりはいかがでしょうか。

奥天マイクロソフトのセキュリティへの取り組みが大きく変わったのは、ちょうど 5 年くらい前からです。2001 年に CodeRed と Nimda が登場し、それ以来なんとかしなければならないということで、日本で独自のセキュリティ チームを立ち上げて「セキュリティに真剣に取り組むべき」という声を本社へあげました。その後、米国にもチームが作られたのですが、最初に呼びかけたのは日本なのです。現在、セキュリティに関する情報は、セキュリティ ガイダンス センターや開発者向け、ITPro 向け、個人ユーザー向けなど、幅広く提供しています。おそらく国内でセキュリティ情報を入手するサイトの中ではダントツでマイクロソフトが多いと思っています。日本語化されている情報だけでも 3,000 ページぐらいあります。私たちもレビューがたいへんなのですが、すべて日本のスタッフがチェックをし直して、日本語版の画面へ変更したり、表現を日本語調に直して公開しています。

―― 脆弱性に関する情報は、米国とほとんど変わらないタイミングで提供されていますね。

奥天はい。脆弱性に関する情報は、日米で同時に公開しています。一切のタイム ラグはありません。というのも、米国がセキュリティ情報を作るときに、日本のチームは彼らと一緒に行動しているので、日本だけ同時セットで作っています。他の国は翻訳になりますが、私たちは日本として作っています。なので、数々の部分でカスタマイズしており、我々の技術部門が自身の責任で作っています。安心して読んでいただければと思います。

だますテクニックが発達し、財産やデータが狙われる小さい企業が踏み台にされることもある

―― 最近の情報セキュリティの現状と脅威についてはいかがですか。

奥天

最近は、過去にコンセプトと言われていたものが具現化しているという状況です。たとえば、昔から「DNS が改ざんされたら怖いね」と言われていました。DNS が改ざんされると、目的のサイトにアクセスしようとしても別のサイトに勝手につながってしまうわけです。今、この話をすると多くの方がなるほどとうなずいていただけるのですが、3 年前では考えられなかったことです。DNS 改ざんの 1 つの例として“フィッシング”がこの 2 年間で出てきています。フィッシングは、昔からコンセプトはありましたが、実際にそれが具現化するような土壌はなかったのです。今、なぜフィッシングが出てきたかというと、ユーザー情報を仕入れられるような仕組みができてきたんです。それがスパムです。

―― なるほど。ユーザー情報が盗まれるなど、脅威の質も変わってきているように感じますね。

奥天フィッシング サイトに代表されるように、だますテクニックが非常に発達してきています。その背景にはお金が絡んでるというのがよく言われています。以前は情報セキュリティというと、なんとなく守ればいい、コンピュータを守ればいいでしたが、今は「財産を守りましょう」「データを守りましょう」に変わってきています。より具体的に何を守るかが大事で、極端な話コンピュータは守らなくてもいいのです。SQL Server や Windows が壊されても、データだけは確実に守りましょうというのが、最近の合言葉になっています。

―― 狙われやすいサイトや企業というのはあるのでしょうか。

奥天最近よく言われるのは、Google などを検索エンジンを使ったクラッキングです。検索エンジンを使えば、SQL インジェクションの脆弱性があるサイトを簡単に見つけることができます。なので、自分のサイトが小さいから大丈夫というのは通用しなくなってきています。逆に、誰もよりつかないようなサイトをあえて狙ってくるケースもあります。「誰もよりつかない = アテンションが低い」ということなので、脆弱なまま放置されていることが多いのです。そういったサイトをあえて狙って、踏み台として使ったりします。勝手にサービスを走らせて、変わりに攻撃をさせるわけです。自分は大丈夫と考えるのではなく、Winny もそうですが、等しくみんなが同じ脅威にさらされているということを前提に、ここだけは守りたいというデータに関して、それをきっちり守るような対策を行う必要があります。

SQL Server 2005 の開発をいったん止めてセキュリティのわかっているデベロッパーだけを作ったすべてのコードを見直し、よりセキュリティを高めるために作り直した

―― SQL Server 2005 の発売が遅れた理由として、よりセキュリティを向上させるためだったという話を聞いたことがあります。

奥天はい。ちょうど 2002 年 2 月から 4 月にかけて、ビルゲイツが「開発をいったん止めて、セキュリティのわかっているデベロッパーだけを作れ」と言ったんです。そのときに開発が止まったのが SQL Server 2005 です。当時、数百人体制で臨んでいた開発をいったんストップさせ、全員に 2 ~ 3 か月の間、セキュアなコードを書くトレーニングを課しています。そして、すべてのコードを見直し、よりセキュリティを高めるために作り直しをしています。

―― より品質の高い製品をリリースしようとする姿勢を徹底されているのですね。

奥天今は、信頼できるコンピューティング (Trustworthy Computing) の SDL (Software Development Lifecycle : ソフトウェア開発ライフサイクル) と呼んでいるのですが、現在、すべての製品に対して SDL を適用しています。ちょうど Windows XP の開発の途中から始まり、Windows Server 2003 は最初から SDL に基づいて開発しています。SDL 以前と、それ以降では、脆弱性の数が比較にならないほど少なくなっています。SDL はドキュメントとして公開していますので、ぜひご覧いただければと思います。

―― SDL (ソフトウェア開発ライフサイクル) についてもう少し詳しく聞かせていただけますか。

奥天SDL では、最初のフェーズ (要件と設計) の 2 ヶ月でセキュアなコードを書くためのトレーニングを必須にしています。また、機能自体がセキュリティ上あっていいものかどうかや、何が危険なのかを判断するために“脅威モデリング”も実施しています。どうしても守りきれない機能は落としてしまうわけです。そして、ようやく作り始めるのですが、作るときにセキュアなコーディングをすべてのフェーズでチェックしていきます。PREfix や PREfast と呼ばれる静的コード分析スキャン ツールを利用してバッファ オーバーランや整数オーバーランといった脆弱性をもたらすコーディングの欠陥を検出したり、自動化されたツールやテストも使ってソース コードを検証し、脆弱性の可能性を見つけて取り除いていきます。モノができ上がって、ある程度動くようになってきたら“侵入テスト” (Penetration Test) も実施します。

―― それは時間がかかって当然ですね。

奥天製品を開発をしていくうえで、新しい機能をいろいろと追加したり、利便性を高めようとする動きと、セキュリティで堅牢にしていこうという相反するところ (トレード オフ) のバランスをとりながら開発していくというのが、SQL Server 2005 の開発に 4 ~ 5 年かかってしまった 1 番の理由です。そして、最終的な段階では、外部のセキュリティの攻撃をする人が、我々の製品に対してしらみつぶしの攻撃をして、ようやく出てきたのが SQL Server 2005 なのです。SQL Server 2005 は、それだけ信頼性の高い製品としてしあがっています。

データをきちんとマネージメントできるプラットフォームを使ってほしいセキュリティを考えて実装された製品を使ってほしい「人」「プロセス」「技術」のかけ算

―― データベースに携わるエンジニアに、セキュリティについてアドバイスはありますか。

奥天データベースは、SQL Server 2005 のように、データをきちんとマネージメントできるプラットフォームを使ってほしいと思っています。単純にデータを検索できるとか、スピードが速いとか、価格が安いとかだけではなくて、セキュリティを考えて実装された製品を使ってほしい。たとえば、イン メモリ データベースのように、いくら検索のパフォーマンスが良くても「セキュリティは本当に大丈夫ですか?」「セキュリティがきちんと実装されていますか?」と問いかけてほしいのです。

―― なるほど、SQL Server 2005 は SDL に基づいて作られた製品ならではの安心感があるというわけですね。

奥天SDL は我々のプロセスになるわけですが、最近は「人」と「プロセス」「技術」のすべてのかけ算、コンバインドされていることが重要であると言われています。たとえば、人がダメだったらゼロ、それをプロセスや技術にかけ算してもゼロになります。3 つのうち、どれかが欠けていればゼロになってしまうわけです。それではセキュアな製品は作れません。私たちは、すべての総合力を上げることで、よりセキュアな製品を作っていこうとしています。

SQL Server 2005 の注目機能は「シングルサインオン」運用に入って強みが出るのが SQL Server 2005Oracle だとセキュリティパッチの入手に有償サポートが必要

―― SQL Server 2005 で注目している機能はありますか。

奥天これは、従来の SQL Server から備えている機能ですが、やはり「シングル サインオン」ですね。データベースにシングル サインオンを適用しないでどうするんですかと、私はいつも思っています。ID 管理は非常に重要で、1 つの ID でさまざまなところでシームレスに使えるソリューションでないと、セキュリティ レベルが落ちてしまいます。

―― Oracle 10g だと Windows とのシングル サインオンには、有償オプションが必要になりますね。しかも Enterprise Edition のオプションなので、オプションの値段に加えて、高価な Enterprise Edition のライセンスも購入しなければなりません。

奥天SQL Server には、昔から統合セキュリティという Active Directory との統合機能がありますので、標準でシングル サインオンが実現できます。我々は、Active Directory と統合したアカウントがいくつも分散されるようなセキュリティ環境は、好ましいとは思っていません。また、実際の運用に入ってから強みが出るのが SQL Server 2005 ですね。

―― 最近の Oracle 社は、セキュリティ機能の充実ぶりを国際的な認定数の多さでアピールすることがあるのですが、それについてはいかがでしょうか。

奥天認定は、ただの認定であって、実際の運用でセキュアかどうかが重要です。2004 年以降は、SQL Server 2000 に対するセキュリティ警告の数がわずか 1 件であったのに対して、Oracle は 7 件もの警告があがっています (Secunia.com 調べ)。SQL Server は、2003 年の Slammer ワーム以降、脆弱性に関する問題はほとんど発生していないのです。SQL Server 2000 の Service Pack 3 以降から SDL を適用していますので、その成果が確実に出ていると言えるでしょう。また、最近のニュースでは、Oracle の脆弱性に関する問題を取り上げたものがいくつか報告されています。なので、認定の数はまったく関係ないでしょう。

―― Oracle の場合は、四半期ごとにセキュリティ パッチが発行されていますが、そのパッチの入手には“有償の”サポート契約が必要だったりと、このあたりの差も大きいですね。

奥天SQL Server 2005 は、セキュリティ更新プログラムは無償でダウンロードできますし、適用もしやすくなっています。本当に運用に入って強いのが SQL Server 2005 です。あと Oracle の場合は、先ほどの Windows でのシングル サインだけでなく、ネットワーク パケット暗号化や Kerberos のサポート、証明書のサポートなど、多くのセキュリティ機能が Enterprise Edition のみで提供され、かつ有償のオプション ライセンスが必要になるものも多いので、余分なコストがかかります。

Visual Studio 2005 の静的コード分析機能で SQL インジェクションを事前防止ASP.NET にはクロスサイトスクリプティングの防止機能が標準搭載

―― この 1 年間は、SQL インジェクションが話題に上がることが多かったのですが、デベロッパーにアドバイスはありますか。

奥天SQL インジェクションは、クエリに任意の SQL 構文を埋め込むことで、不正に顧客データを入手したり、データベース サーバーを攻撃する行為です。Web サーバーを経由するところが、デベロッパーにとってはわかりづらいかもしれません。データベースだけを見るのではなく、その周辺の環境や、インターフェイスとなってリクエストを発行するところも理解し、Web と組み合わせた場合の設計をトータルに見れるようになってほしいと思います。たとえば、不正な SQL 構文を無害化する作業 (サニタイズと言う) は、データベースに届く前に Web サーバー側でやるべき作業です。仮に、そこが突破されたとして、データベース上のストアド プロシージャやビューをきちんと設計しておくとか、顧客マスタには絶対にアクセスが及ばないように、アクセス権をきちんと設定しておくとか、基本的な部分をしっかりと行い、セキュリティを意識できるエンジニアを目指してほしいと思います。

―― セキュアなコードの実装には ASP.NET と Visual Studio 2005 が役立つのではないでしょうか。

奥天はい。ASP.NET には“クロスサイト スクリプティング”を防止する機能が標準で備わっていますし、Visual Studio 2005 には「PREfast」と「FxCop」という 2 種類の静的コード分析機能が備わっています。これにより、SQL インジェクションやバッファ オーバーフローなどを開発の時点で事前に検出することができます。これらは本当に強力な機能で、開発効率が大幅に向上しますし、最小のコストでセキュリティ対策ができます。セキュアなプラットフォームを作る環境としては、SQL Server 2005 と Visual Studio 2005 の組み合わせは非常に強力です。

皆さん自身の目で今後もセキュアなプラットフォームを選んでいただき日々の運用を楽にしていただきたいと思っています

―― 最後にセキュアなシステム作りに取り組んでいる方々にメッセージをお願いします。

奥天日々のセキュアなサイトの構築、お疲れ様です。マイクロソフトは今後も皆さんを全面的にバックアップしていきます。マイクロソフトはセキュアなサイトを構築するための手助けを惜しむことは絶対にありません。皆さん自身の目で今後もセキュアなプラットフォームを選んでいただき、日々の運用を楽にしていただきたいと思っています。それが皆さんの次のビジネスにつながり、セキュアなソフトを作れるということが皆さんのインセンティブとなるよう、私たちはこれからも活動を続けていきたいと思っています。私の友人の David LeBlanc (「Writing Secure Code」の著者) が言っていた言葉なのですが、「昔のマイクロソフト製品は使う人によって大きく変わる。しかし、最近の製品は、使う人があまり高度でなくてもセキュアになっている。そして、そういう人たちがセキュリティを意識して使えば、これほど強いものは無い」と。私も間違いなくそう思ってますので、皆さんも信頼して使っていただければと思います。

キーマン プロフィール

奥天陽司マイクロソフト株式会社セキュリティ レスポンス チームセキュリティ レスポンス マネージャ早稲田大学 非常勤講師

第 2 回 カリスマ コンサルタントに聞く秘伝のチューニング ノウハウ

ハードウェアのサイジングが何よりも重要SQL Server はクラスタ化インデックスを理解するのが肝Intel アーキテクチャの上で一番相性がいいのは Windows + SQL Server

「キーマン Interview : SQL Server 2005 の真実」第 2 回目は、株式会社 CSK Winテクノロジ (旧エイ・エヌ・テイ) の熊澤 幸生 (くまざわ ゆきお) 氏にお越しいただきました。今までに数多くの大規模データベース システムを手がけてきた同氏は、まさにデータベースの第一人者といえる人物です。現在は、SQL Server のコンサルティングを主な業務としており、特に大規模環境でのパフォーマンス チューニングを得意としています。@IT サイトでの連載記事「Dr. K's SQL Server チューニング研修」の“ドクター K”としてご存知の方も多いのではないでしょうか。SQL Server 2005 を大規模データベース環境で利用するにあたっての、処理性能を向上させるためのノウハウに、ぜひご注目ください。

大規模データベースではハードウェアのサイジングが重要お客様のやりたい業務に合った OS やデータベースを選択すべき

―― 私の中では「大規模データベースのチューニングといえば熊澤さん」という印象があるのですが、大規模データベースで処理性能を向上させるコツというのはあるのでしょうか。

熊澤処理性能を向上させるには、まず第 1 にメモリや CPU、ディスクなどのハードウェアのサイジングをきちんと行っておくことが重要です。中でも一番大事なのがメモリで、その次に CPU、その次にディスクです。そして、これら 3 つのバランスをしっかりと考えていくことが最初の入り口だと思っています。それに、ハードウェアの選択は、OS を何にするとか、データベースを何にするとかはあまり関係ない話であって、まずお客様の要件を分析して、次に「OS やデータベースは何が最適なのか」と考えていくべきだと思っています。

―― ハードウェアのサイジングが何よりも重要というわけですね。

熊澤私が昔から嫌いなのは、Oracle ありき、SQL Server ありき、DB2 ありきとか、データベースありきで始まることです。先にデータベースありきだと、「こういう機能は SQL Server にはないじゃないか」とかつまらない議論になったりして、それは違うのではないかなと。先に考えるべきはお客様の業務であって、お客様のやりたい業務に一番あった OS の環境は何で、データベースは何なんですかと、逆なのではないかなと私はいつも思っています。

ポイント 1: メモリのサイジング仮想メモリは、しょせんは絵に描いた餅

―― ハードウェアのサイジングについて、具体的に教えていただけますか。

熊澤@IT の連載記事でも第 1 回目にメモリの話から始めているのですが、ハードウェアの中でも、特にメモリのサイジングが一番重要だと思っています。メモリに関しては、まず仮想メモリと物理メモリの 2 つの観点から考えていく必要があります。私がよく言うのは「仮想メモリは、しょせんは絵に描いた餅なのです。どれだけ物理的なメモリが載っていますか」と。物理メモリが十分に足りていなければ、ページングが発生して、余分な CPU への負荷やディスクへの負荷がかかってしまうわけです。私は“ワーキング セット”という概念でよく説明するのですが、オペレーティング システムと SQL Server のコアの部分が生きていくために最低限必要な物理メモリの大きさはどのくらい必要なのですかと。それに加えて、お客様の環境によってデータ ページであったり、インデックス ページであったり、プロシージャ キャッシュ、ロック用のテーブル、ユーザー用のコネクション、論理ログ ファイルなど、これらは物理メモリ上にないとページングが発生してしまうものです。そのようなページングのオーバーヘッドを避けるためにも、物理メモリをきちんと見積もっておかなければなりません。

―― 仮想メモリではなく、物理メモリを意識することは本当に重要ですね。

熊澤それと、それぞれのオブジェクト用の領域がメモリ空間をフルに利用できるようにするには 64-bit 環境を検討しなければなりません。どうしても 32-bit のプロセッサだと、なかなか 4 GB のバリアを超えることができなくて、たとえ AWE (Address Windowing Extensions) の機能を使ったとしても、一部のバッファ キャッシュだけしか拡張メモリ空間を利用できないという制限があります。しかし、64-bit であれば、全部のメモリ内のオブジェクトが 64-bit のメモリ空間をフルに使えるようになるわけです。

ポイント 2: CPU のサイジングSQL Server は、複数の CPU があることを前提にエンジンが作られている

―― CPU のサイジングについてはいかがですか。

熊澤メモリをきちんと理解したうえで、次に考えないといけないのが CPU です。SQL Server 2005 は、「SQLOS」(SQL Server 2000 での UMS スケジューラ) と呼ばれる、独自のスレッドというか、コンテキスト スイッチの管理から CPU の資源管理までを行う、SQL Server のカーネルともいえる部分が実装されています。ちょうど SQL Server 自身が独自の OS 機能を備えているようなイメージです。これは、他のデータベースと比べて、SQL Server にしかない特徴です。なおかつ、SQLOS や各種のスレッドは、複数の CPU があることを前提にデザインされています。レイジー ライターやバッファ フラッシュのための専用のスレッドがあったり、大量のデータをスキャンするための Read Ahead (先行読み取り) のスレッド、バックアップとリストアのためのスレッドがあったり、機能に応じて専用のスレッドがあります。理想からいうと、それらがきちんと動けるだけの物理的な CPU がほしいですね。SQL Server は、複数の CPU があることを前提にエンジンが作られているということを意識することが重要です。

ポイント 3: ディスクのサイジングメモリと CPU、ディスクの 3 つのバランスをしっかりと考えることが重要

―― ディスクのサイジングについてはいかがですか。

熊澤メモリ、CPU に次いで、私が 3 番目に大事だと思っているのがディスクです。ディスクについては 2 つの考え方がありますが、現在の大規模環境では 4、5 年前に生まれたファイバー チャネルを使った SAN (Storage Area Network) を使うのが当たり前になっています。しかし、最近の文献などをみると「SAN はもう古い」という話が出ていたりします。SAN を使うよりも、ローカルの PCIX 上に、たくさんの Serial ATA (SATA) のディスクを並べて使った方がパフォーマンスが良いというわけです。ディスクのパフォーマンスは意外と盲点になりやすいですが、メモリと CPU、ディスクの 3 つのバランスをしっかりと考えていくことが、サイジングの最初の入り口だと思っています。

ポイント 4: SQL Server のチューニングクラスタ化インデックスを理解するのが肝

―― SQL Server 自身のチューニングについてはいかがですか。

熊澤SQL Server は、ある程度の規模まではほとんどメンテナンス フリーで動くのですが、大規模データベースとなると話は別です。ハードウェアのサイジングは大前提として、そのほかにもデータベースの設計をきちんと行ったり、SQL Server の特性をきちんと理解しておかないと、あとでたいへんなことになります。実際、私が携わった大規模案件は、トラブルのほとんどがそこから生まれています。また、お客様のタイプも大きく 2 つに分けることができて、1 つは今までにメインフレームや UNIX などできちんとしたデータベース設計を数多く経験してきた人が、SQL Server の特性を理解していなかったがために発生するケース。もう 1 つは、最初はラック マウント型のサーバー 3 台ぐらいの小さい規模で始めて問題なく動いていたのに、どんどんアクセス数が増えて、データ量もあっという間に膨れ上がっていく、いつの間にかパフォーマンスが悪くなっていくというケースです。いわゆるスケーラビリティをお金で買ったというパターンです。この 2 つは、チューニングにあたって、まったく着目点が違います。

―― どちらも簡単に手軽に導入できる SQL Server ならではこそですね。

熊澤そうですね。2 つ目のパターンでは、ハードウェアのサイジングや、データベースの設計をきちんと行っておくことが重要です。これに対し、1 つ目のパターンのメイン フレームとか UNIX とかをきちんとやってきた人は、まず SQL Server の特性をよく勉強し直してほしいなと思っています。特にこのパターンでは、クラスタ化インデックスを理解していない人が圧倒的に多いです。クラスタ化インデックスを持ったテーブルと、非クラスタ化インデックスのみのテーブルでは、RID (行識別子) を使った格納制御になったりと、まったく動きが違いますから。

―― クラスタ化インデックスは、本当に重要ですね。

熊澤Oracle などを使っていたエンジニアにとっては理解しづらいかもしれませんが、SQL Server の場合は、クラスタ化インデックスを理解しないと、データベースの物理設計はあり得ないと思っています。実際、クラスタ化インデックスの特性を理解していなかったがために、データが消えてしまったというトラブルに陥ったお客様もいるくらいです。また、インデックスはロックの動作とも密接に関係していることにも注意しなければなりません。たとえば、クラスタ化インデックスは、ユニークではないキー (重複値のあるデータ列) に対しても作れます。そうすると、排他ロックの単位が行にはなりません。一番下のリーフ レベルが、ページ単位のロックになってしまうわけです。特にデータの種類が 10 個くらいの少ない場合だと、いくつかのプロセスが更新でつかんでしまうと、デッドロックが多発したり、もう完全にロックで止まってしまうことになります。なので、ロック回りでトラブルに陥らないためにも、インデックスの内部構造を、データの格納構造とロックの動作まで含めて、確実に理解しておくことが重要です。

Windows プラットフォームはロードマップがしっかりしているIntel アーキテクチャの上で一番相性がいいのは Windows + SQL Server安心して使えるレベルまで品質が上がった

―― 熊澤さんは、古くから多数のデータベースに携わっておられますが、Windows プラットフォームについてはどのようにお考えですか。

熊澤Windows プラットフォームは、ロードマップがしっかりしているのが魅力ですね。今回の SQL Server 2005 の場合は、SQL Server の第 3 世代の基盤として 5 年以上をかけて作っていますし、Windows Server 2003 の後継 OS が出るのも 2007 年以降です。その間にじっくりと時間をかけてテストをし、本当に安心して使えるレベルまで品質が上がったというのが、非常に大きいと思います。

―― SQL Server 2005 に関しては、負荷テストに費やした時間は SQL Server 2000 のときの 40 倍以上 (延べで 150,800 マシン時間)、負荷ワークロードを 10 倍以上に増やして品質を追求したという話を私も聞いたことがあるのですが、これには本当にびっくりしました。

熊澤Windows Server は最初のバージョンの Windows NT 3.1 から、SQL Server も最初のバージョンの 4.2 から利用していますが、昔のマイクロソフト製品というと、毎年新しいバージョンが出たり、バージョン アップの頻度が早かったりと本当に困りました。当時を振り返ると、あれは何だったのかなと思ってしまいますね (笑)。

―― 私もそう思います。最近のマイクロソフトは、OS のロードマップに関しては、4 年ごとにバージョン アップをして、2 年ごとにリリースをアップデートしていくというのをきちんと明言しているようです。これは Linux や UNIX 環境などと比べて安心感がありますね。

熊澤そうですね。最近は本当にロードマップがしっかりしていて、じっくりと作られているので、お客様にとっても安心して利用できるのではないでしょうか。昨年、SQL Server の Version 7.0 以降の開発に大きな影響を与え、SQL Server の育ての親ともいえる Microsoft Research のジム グレイ博士にお会いする機会があったのですが、そのとき彼は、数年後、そして数十年後の SQL Server と Windows OS の方向性をきちんと考えていて、それを示してくれました。将来起こり得るであろう課題を予測して、それに対して今の段階からきちんと対策を講じておく、きちんとデザインしているというのは本当にすごいと思いました。

―― 方向性をきちんと示してくれるのは本当にありがたいですね。熊澤さんは、SQL Server 以外のデータベースを提案されるということはあるのでしょうか。

熊澤それはないですね。Intel アーキテクチャとの相性を考えると、間違いなく Windows と SQL Server の組み合わせが一番いいと思っています。Intel プラットフォームの上できちんと動く OS とデータベースを両方とも持っているのはマイクロソフトだけですから。一方は Linux であったり、もう一方は Oracle であったり、PostgreSQL や MySQL とかも 2 つとも持っているというのはありません。OS とデータベースは切り離せないものですので、やはり PC サーバー (IA サーバー) 上でデータベースを構築するとなったら、好きとか嫌いとかではなくて、Windows と SQL Server しかないと思っています。

SQL Server の大規模案件は非常に増えているSQL Server にとって一番大きなインパクトは 64-bit 対応

―― SQL Server 2005 は、NASDAQ や名古屋銀行、Barclays Capital、Mediterranean Shipping Company、Barnes and Noble といった大規模かつミッション クリティカルな環境での導入実績を目にすることがありますが、実際、日本でも大規模な案件は増えてきているのでしょうか。

熊澤ここ数年すごく増えていますね。やはり SQL Server にとって一番大きなインパクトは 64-bit 対応だったと思います。Intel Itanium プロセッサの上で、Windows Server 2003 と SQL Server 2000 の Enterprise Edition (64-bit 版) が使えるようになって、これが 1 つのブレークスルーでした。AWE などの 32-bit のプロセッサの限界を考えると、お客様には、なるべく早く 64-bit の環境に移って、全部のメモリ内のオブジェクトが 64-bit のメモリ空間をフルに使えるようにしていきましょうという話をしています。それと、今までは IA64 (Intel Itanium ベースの 64-bit) にしか対応していませんでしたが、SQL Server 2005 からは X64 (Intel EM64T、AMD64) にも対応するようになりました。これで比較的安価なハードウェアで 64-bit 環境を実現できるようになります。

―― 実際に SQL Server を大規模環境で動かしている中で不安などはありますか。

熊澤まったくないですね。私のお客様で証券系のミッション クリティカルなシステムで SQL Server を利用している所もありますし、問題なく動いています。もちろん、先ほどの話のように、高速なストレージや大容量のメモリ、64-bit の複数 CPU の搭載といったハードウェアのサイジングをしっかりと行い、かつデータベースの設計もきちんと行っておくことが、安定稼動させるコツになります。あと SQL Server のインデックスとロックの特性を十分に理解しておくことも忘れてはなりません。そうすれば、大規模環境でもまったく問題なく動作させることができます。

大規模環境には欠かせないデータパーティショニング動的管理ビュー (DMV) で内部動作がすべて見られるようになる

―― SQL Server 2005 で、熊澤さんが気に入っている機能はありますか。

熊澤やはり、何といってもデータ パーティショニングですね。大容量のデータをうまく運用管理していくにはパーティショニングが欠かせません。パーティショニングがあれば、パーティション単位でのバックアップやリストアしたり、古いデータを定期的にアーカイブ テーブルへ移動するスライディング ウインドウのシナリオも簡単に実現できます。そして何よりインデックスもパーティション化できるのが大きなメリットです。従来の SQL Server 2000 では、大規模データ ウェアハウスや大量のデータを取り扱うようなトランザクション処理システムでは、パーティション ビューという機能を利用しなければならなかったんですが、これはテーブルを複数に分けて UNION ALL でつなげたビューを作る機能です。しかしパーティション ビューだと、クエリ オプティマイザが正しい実行プランを判断してくれないんです。これでは、クエリのパフォーマンスに問題が出てしまいます。でも SQL Server 2005 のパーティショニングのようにインデックスをパーティション化できれば、オプティマイザは正しく動いてくれます。

―― インデックスのパーティション化は待ちに待った機能ですね。

熊澤昨年の案件でもパーティショニングが利用できればどんなに楽だったかというのがありました。そのシステムは、毎日バッチ形式のトランザクション処理で大量のデータが蓄積され、1 か月で 数千万件、6 か月では 数億件ものデータが蓄積されていきます。このデータを複数の同一構造を持つテーブルに分割し、ビューで結合し、アプリケーションから検索と更新処理で利用しています。SQL Server 2000 で動いているのですが、本稼動直前に、同じ処理なのに時間がかかったり、遅かったりするということで、第三者の専門的な見解を求められ、私のところへ相談がありました。各種パフォーマンス監視ツールで分析した結果、Oracle に精通したエンジニアがデザインしたデータベース物理設計で、SQL Server のインデックスの特性の理解不足が原因でトラブルが起きていました。このときに SQL Server 2005 が発売されていてパーティショニングが利用できていれば、どんなに楽だっただろうと思いました。お客様へパーティショニング機能の提案を行ったところ、アプリケーションとデータベース設計の初期の段階で、私のデザイン レビューを受ければ、さらなるスケーラビリティが達成できたと残念がっていらっしゃいました。

―― そのほかに SQL Server 2005 で注目している機能はありますか。

熊澤あとは、動的管理ビュー (DMV: Dynamic Management View) ですね。従来の SQL Server 2000 だと、ドキュメントに記載されていない隠しコマンドを駆使しないと、細かいチューニングをしたり、内部動作を調べたりすることができなくて、まさにブラックボックスでした。でも SQL Server 2005 では、動的管理ビューのおかげで内部動作がすべて見られるようになっています。これで本当にチューニングがしやすくなりました。

どんなデータベースも基本は同じ

―― 最後に、これから SQL Server で大規模データベースに携わるエンジニアへメッセージをお願いします。

熊澤データベースは、種類に関係なく基本は同じです。私自身、今までに IMS (IBM 社の階層型データベース) や CODASYL 型 (ネットワーク型) データベースの IDMS/R (Cullinet 社)、AIM (富士通)、RDB では Infomix など、いろいろなデータベースに携わってきました。そのときに学んだデータベースの設計や領域管理、トランザクションの ACID プロパティといった基本知識は、どんなデータベースにも当てはまります。あとは SQL Server 独自の格納構造とインデックスの特性、ロックの動作をしっかりマスターしておけば、大規模データベースでも安定稼動させることができるでしょう。これから当社でも、データベースの基本をしっかりと身に付けたエンジニアを 500 人育成していこうとしています。また、PASSJ などのセミナーを通しても、自分の経験したノウハウを公開し、どんどん情報共有していきたいと思っています。

―― 本日はどうもありがとうございました。熊澤さんが執行役員を務めておられる CSK Winテクノロジでは、昨年の 10 月からマイクロソフトの協力を得て、定額制の SQL Server チューニング サービスを始めています。何か困ったことがありましたら、一度相談してみてはいかがでしょうか。

キーマン プロフィール

熊澤幸生氏株式会社 CSK Win テクノロジ執行役員 (CTO)

メインフレーム環境で 20 年近くデータベース関連の IT プロジェクトを数多く経験。また 1979 年から 1983 年まで米国に駐在し、データ主導型システム設計を実プロジェクトで学ぶ。1994 年、アスキー NT (エイ・エヌ・テイ、現 CSK Winテクノロジ) 設立に参加し、SQL Server Ver 4.2 から SQL Server 2000 までシステム構築、教育にかかわってきた。現在同社執行役員 Chief Technology Officer。また、SQL Server ユーザー会「PASSJ」の理事として活動中。

第 3 回 ミッション クリティカルなシステムに求められるもの

ミッションクリティカルなシステムでは、ハードウェアだけで考えるのではなくOS からデータベース、アプリケーションまでをすべて一気通貫で考えることが重要。SQL Server 2005 データベースミラーリングの共同検証ホワイトペーパーが近日公開予定

「キーマン Interview : SQL Server 2005 の真実」第 3 回目は、日本ヒューレット・パッカード株式会社 (以下、日本HP) の江田 幹 (えだ かん) 氏にお越しいただきました。江田氏は、プリセールスのバックエンド サポートを担当し、現在は SQL Server を中心とした製品検証や技術ドキュメントの作成といった案件の後方支援や、お客様の運用上のトラブル対応などを主な業務としています。日本HP とマイクロソフトは、2003 年初頭から現在までの約 3 年半、Intel Itanium 2 プロセッサ ベースの共同検証を実施しており、江田氏は、この検証の中心メンバです。この検証では、「データベース ミラーリング」や「データ パーティショニング」、「SQL Server 2000 との性能比較」、「データ暗号化」、「スナップショット機能」、「コンソリデーション」、「スケールアップ構成におけるパフォーマンス測定」など、SQL Server を大規模かつミッション クリティカルなシステムへ導入することを想定したシナリオに基づいて、多くの検証を行っています。検証の成果も数多く出ており、中でも特筆すべきは、2003 年 9 月に樹立した SAP APO 標準ベンチマーク (8 プロセッサ構成) での日本発の世界新記録です。SAP ジャパンの協力の下、Itanium 2 プロセッサを 4 基、大容量メモリ (48 GB) を搭載した HP Integrity サーバ rx 5670 を 2 台使用し、Windows Server 2003 と SQL Server 2000 Enterprise Edition 64-bit 上に構築した SAP APO (Advanced Planning & Optimization) と liveCache アプリケーションで、世界レコードを達成しました (2003 年 9 月時点)。 また、SQL Server 2005 の注目の新機能であるデータベース ミラーリングについては、さまざまな障害を想定した検証や、MSCS (Microsoft Cluster Service) クラスタと組み合わせた場合の検証、パフォーマンス検証などを行っており、その結果をまとめたものがホワイト ペーパーとして近日公開されますので、ぜひご覧ください。

ミッションクリティカルなシステムに求められることすべては「信頼性」に集約。お客様の信頼を得ることが重要

――江田さんの考えるミッション クリティカルなシステムに求められる要素には、どのようなものがありますでしょうか。

江田ミッション クリティカルなシステムに求められる要素は、端的に言うと、「信頼性」という言葉に集約されると思っています。「信頼性」の中には、システムを安定稼動させることが第一にありますが、お客様としては、安定稼動は当然のこととして、同時に、ほとんどが高いパフォーマンスを求められています。私たち総合ベンダとしては、そのようなお客様のニーズを満たして、サポートを含めてお客様の信頼を得ることを「信頼性」と考えています。「HP ならなんとかしてくれるだろう。任せても大丈夫だろう」という信頼が重要だと考えています。また、最近はシステムが昔よりも早いサイクルでダイナミックに変わってきていて、お客様が予想している以上に短期間でシステム負荷が増大し、導入後半年で当初の予想の倍以上、あるいは 3 倍以上になってしまうというケースもあります。このようなときに、「全部ゼロから作り直し」ということでは、お客様にとって ROI (Return On Investment) の観点で許容できない問題になります。容易に拡張ができて、容易にメンテナンスができる、変化に柔軟に対応できるようなシステムがミッション クリティカルな世界では重要だと思っています。

―― 安定稼動を第一に、高パフォーマンスや拡張性 (スケーラビリティ)、保守性も重要というわけですね。

江田「可用性 (Availability)」も重要です。可用性は、一言でいうと「ビジネスを止めずに、どこまで継続できるか」(Business Continuity) ということですが、障害からいかにすばやく復旧できるかが重要になります。最近のストレージやサーバー、OS、データベースは、それぞれが可用性を高める機能 (高可用性機能) を備えているので、個々で見ると、もう穴はないように見られがちなのですが、アプリケーションも絡んでくるため、システム全体としての信頼性となるとお客様にとっては心配がつきることはありません。いざ運用に入ると想定外の出来事が起きることが少なからずありますから。そのような場合に、いかに迅速に障害を修正し、すばやく復旧して運用ベースに持っていけるかという“スピード”が求められます。

ミッションクリティカルなシステムを実現するポイントは?一気通貫で考えることが重要Windows + SQL Server は勘定系や基幹系システムでの導入がどんどん進んでいる

――ミッション クリティカルなシステムを実現するにあたってのポイントというのはあるのでしょうか。

江田ハードウェアの選定においては、CPU が何基搭載できて、メモリやストレージがどれだけ搭載できるかなども、拡張性 (スケーラビリティ) の観点では重要なのですが、それよりも大切なのは、ハードウェアだけで考えるのではなく、OS やデータベース、アプリケーションまでを組み合わせて、“一気通貫”で考えることだと思っています。それと、障害検出やリソース管理の機能をしっかりと備えていることも非常に重要です。

―― 確かに、すばやい障害復旧 (高可用性) には、障害をいち早く検知してくれる機能が欠かせませんね。OS についてはいかがでしょうか。

江田OS に関しては、ミッション クリティカルなシステムについての考え方さえしっかりしていれば、あとは製品をそれに合わせて構築していくだけだと思っています。幸い、当社ではいろいろな OS を取り扱っていますので、有形無形のノウハウが豊富に蓄積されており、今までに UNIX で培ってきたノウハウは、Windows でも十分に活かせるものだと思っています。

―― 実際、ミッション クリティカルなシステムとして、Windows や SQL Server を選択されるお客様は多いのでしょうか。

江田Windows は情報系のシステムでの利用が多いというのはよく言われていますが、最近の傾向を見ると勘定系のシステムや、その会社の屋台骨を支えるような基幹系システムでの導入、ミッション クリティカルなシステムでの採用がどんどん進んでいます。当社の HP Integrity サーバ (Intel Itanium 2 プロセッサ ベース) の中でも Windows OS 搭載ハイエンド サーバーでは、過去の導入実績のほとんどが SQL Server です。新たにビジネスを興されて、今までに慣れ親しんだシステムやいい意味での過去の資産がなくて、まったくフラットな立場で判断される場合に Windows や SQL Server を選択されるケースが多いようです。やはり、投資対効果の高さや、使いやすさが決め手となっているようです。

HP Integrity Superdome柔軟な拡張性を特徴とするセルベースアーキテクチャのハイエンドサーバー。セルと呼ばれる 4 プロセッサ搭載可能なボードを 16 基、最大 128 CPU まで増設可能な業界最大規模の拡張性を持つ MS-Windows 2003 対応サーバー。TPC-C ベンチマークで Windows サーバー史上初めて 100 万 tpmC を突破するなど (2005 年 12 月時点で 123 万 tpmC を記録)、Windows プラットフォームで大規模システムを構築するユーザーから高い信頼と実績を勝ち得ている。

―― HP のミッション クリティカルなシステムというと、HP Integrity Superdome が思い浮かぶのですが、これについてはいかがでしょうか。

江田HP Integrity Superdome は、当社のフラッグシップ サーバーで、高信頼性、高パフォーマンスを実現する製品です。当社の案件においてミッション クリティカルなシステムで大規模データベース (VLDB: Very Large Database) となると、HP Integrity Superdome が第一候補となります。HP Integrity Superdome の一番のメリットは、単一障害点 (SPOF: Single Point of Failure 単一機器の障害がシステム全体の障害となる問題) が 1 つもない点で、これによって運用フェーズでのつまらないトラブルに悩まなくて済みます。ハードウェアのあらゆるものが二重化されていて、たとえば、セル電源の二重化やシステム クロックの二重化、メモリのダブル チップ スペアリング、クロスバーの冗長化などです。また、各種のハードウェア パーティション機能 (nPartitions) を備えているので、システムの構成を比較的自由に変更していけるのも大きなメリットです。

HP Integrity Superdome と江田氏

―― HP Integrity Superdome は TPC-C ベンチマークの常連で、最近ですと Windows プラットフォームにおける No.1 のパフォーマンス (1 分あたり 123 万件のトランザクションを処理) を叩き出したというのは衝撃でした*。* 2006 年 5 月時点でも Windows プラットフォームでの No.1 パフォーマンスをキープしています。

江田120 万 tpmC を達成した HP Integrity Superdome の構成は、64 個の CPU に、1 TB のメモリを搭載した Windows Server 2003, Datacenter Edition と SQL Server 2005 Enterprise Edition SP1 (Service Pack 1) の組み合わせでした。私たち自身も 32 CPU から 64 CPU へスケールアップしたときのパフォーマンスを検証したことがあるのですが、同じ SQL ステートメントを実行しても、64 CPU の方が断然パフォーマンスが良いのです。これには正直驚きました*。

*ここで、江田氏がノート PC を取り出して、実際にパフォーマンス検証をしたときの様子を録画したビデオを投影してくださいました。32 CPU と比べて 64 CPU のほうがパフォーマンスが良い様子や、タスク マネージャで 64 個の CPU が均等に使われている様子は、本当に圧巻でした。

録画した検証結果を投影中の江田氏

64 CPU タスクマネージャの様子拡大図を見る

―― HP Integrity Superdome クラスになると高信頼性だけでなく、高いパフォーマンスも備えているわけですね。私から見るとまさに“お化けマシン”で、PC サーバーというよりもメインフレーム級ですね。ストレージについてはいかがでしょうか。

江田ミッション クリティカルなシステムでは、ストレージも非常に重要です。やはりデータ保護が重要になりますので、ハードウェア レベルでのスナップショット機能を最近は求められるお客様が多いです。当社のラインナップでは、HP StorageWorks ディスクアレイ XP シリーズというハイエンド向けのストレージがあるのですが、これには Business Copy というスナップショット機能が備わっています。ハイエンドでは、サーバーは HP Integrity Superdome、ストレージには StorageWorks XP シリーズがあり、それらを動かすための各種ソフトウェアやミドルウェア、バックアップ ソフトウェアも備わっています。これは、当社の強みであると思っているのですが、サーバーからストレージ、ソフトウェアまでが揃っていて、OS とデータベースとの組み合わせについてもすべて検証を行っていますので、個々ではなく全体を一気通貫で考えたシステムを提供することができます。それがお客様の信頼感につながっているのではないかと思っています。ミッション クリティカルなシステムになればなるほど、そのような信頼感が非常に重要になります。

共同検証についてSQL Server の大規模システムでの利用を想定したシナリオ

―― 日本HP とマイクロソフトとの共同検証について詳しく伺わせてください。

江田今から 3 年半くらい前に、共同検証をやりましょうという話になったときに、どうせやるなら国内大手のお客様で導入が相次いでいる HP Integrity Superdome を使おうということになって、マイクロソフトの調布技術センターに HP Integrity Superdome を 2 台と、ディスク アレイに StorageWorks EVA (数 TB) を入れました。私もつい最近まで、調布に半常駐で検証をしており、SQL Server を大規模システムへ導入することを想定したシナリオに基づいて、多くの検証を行ってきました。主なものとしては、「データベース ミラーリング」や「データ パーティショニング」、「SQL Server 2000 との性能比較」、「データ暗号化」、「スナップショット機能」、「IT コンソリデーション」、「スケールアップ構成におけるパフォーマンス測定」などです。SQL Server 2005 の新機能については、すべて試しました。

――いろいろな検証をされてきた中で、印象に残っているものはありますか?

江田一番面白かったのは、IT コンソリデーション (IT 統合) の検証ですね。やはり HP Integrity Superdome のようなハイエンドのサーバーになると、1 台のマシンで複数のデータベースをホストするようなケースが多くあります。1 台に集約した方が運用コストを削減できて、セキュリティ管理もしやすいわけです。このような IT コンソリデーションでは、SQL Server をマルチ インスタンス構成にして、それぞれのインスタンスにデータベースを持たせた方が良いか、シングル インスタンス構成にして複数のデータベースを持たせた方がパフォーマンスが良いか、などを確認したかったので、これを検証しました。

――それは興味深い検証ですね。SQL Server 2005 では、インスタンスのライセンスも変わって、Enterprise Edition なら 50 インスタンスまで、Standard Edition なら 16 インスタンスまで持つことができるようになったので、マルチ インスタンス構成を構築したいという方は増えていると思います。

江田この検証は、当社の案件をベースとしているので、社内向けの資料しか作成していないのですが、SQL Server 2000 と SQL Server 2005 では内部的な動作 (SQLOS など) が大きく変わっていることを確認できて、本当に面白い結果になりました。

SQL Server 2005 データベースミラーリング検証ホワイトペーパーが近日公開

―― 近日、共同検証されたデータベース ミラーリングの結果がホワイト ペーパー化されるという話を伺いましたが、その内容と成果について教えください。

江田データベース ミラーリングの検証では、基本動作検証や障害復旧検証、MSCS (Microsoft Cluster Service) クラスタと組み合わせた場合の検証、パフォーマンス検証などを行ったのですが、その結果をまとめたものがホワイト ペーパーとして公開されます。具体的な内容と成果の発表については現在マイクロソフトと検討中ですが、Windows でのミッション クリティカルに関心を持つ皆様にノウハウを幅広く共有していただきたいので、ぜひご覧いただければと思います。

キーマン プロフィール

江田幹氏日本ヒューレット・パッカード株式会社テクニカル セールス サポート統括本部シェアード サービス本部ミドルウェア ソリューションシニア IT スペシャリスト

日本HP とマイクロソフトとの共同検証の中心メンバとして、SAP APO ベンチマークで日本発の世界レコードを達成 (2003 年 9 月時点)。SQL Server を大規模かつミッション クリティカルなシステムへ導入することを想定したシナリオに基づいて、数多くの検証を実施している。

第 4 回 PRIMEQUEST と SQL Server 2005 による高信頼プラットフォームの実現

メインフレームの技術を活かした基幹 IA サーバー「PRIMEQUEST」すべてのハードウェアを二重化し、徹底した信頼性技術の追求Windows との組み合わせによる「柔軟性」「経済性」の実現導入前の検証設備の提供と米国マイクロソフトとの密接なサポート体制がさらなる強みに

「キーマン Interview : SQL Server 2005 の真実」第 4 回目は、最新のプラットフォームを数多く揃えた国内最大規模の総合検証施設である富士通株式会社 (以下、富士通) の「Platform Solution Center」(プラットフォーム ソリューション センター) を訪問させていただき、石井 卓二 (いしい たくじ) 氏と松島 秀男 (まつしま ひでお) 氏に話を伺いました。7月19日に発表、販売を開始した基幹 IA サーバー「PRIMEQUEST 500 シリーズ」と SQL Server 2005 による高信頼プラットフォームの実現について語っていただきました。メインフレーム並みの「信頼性」を持ちながら、「柔軟性」と「優れたコスト パフォーマンス」を備えた PRIMEQUEST (プライムクエスト)。PRIMEQUEST 500 シリーズでは、最新のデュアルコア Intel Itanium 2 プロセッサ 9000 番台 (開発コード: Montecito) を搭載し、さらなるパワーアップを実現しています。導入にあたっては、今回訪問の Platform Solution Center で、実際の業務シナリオに基づいた SQL Server 2005 のさまざまな検証が可能。基幹系、勘定系システムに強く、日本のユーザーを熟知している富士通だからこそ実現した高信頼プラットフォームと、きめ細かなサポート体制にご注目ください。

PRIMEQUEST と松島氏 (左)、石井氏 (右)

ハードウェア関連のトラブルは確実に業務停止につながる止まらないシステムを作るには、信頼性の高いハードウェアの選択を

―― 富士通では、基幹系システムや勘定系システムに強いという印象がありますが、そのような基幹系システムに求められているソリューションは何でしょうか。

松島システムに求められている根本的な要素は昔から変わっていないと思っています。基幹系システムや勘定系システムは、今も昔も「信頼性」と「可用性」「継続性」が求められています。ただ、今はそれだけではなく、「柔軟性」や「コスト」も含めて経営層がシステムの導入を判断するようになっている点が変わってきています。これは、従来メインフレームで行っていたことを Windows や Linux などのオープン環境でも実行したいという要望があり、そのような背景から PRIMEQUEST が生まれてきました。

―― メインフレーム並みの信頼性とコスト パフォーマンスを兼ね備えたプラットフォームが求められているということですね。

松島はい。初期導入コストだけでなく、その後の運用コストまでを含めた価格競争力は、メインフレームよりも優れています。従来のオープン系のハイエンド サーバー、特に IA (Intel Architecture) サーバーには、CPU をたくさん搭載できたり、大容量メモリを搭載できるものはいくつもあったと思います。しかし、基幹系システムでも安心して利用できるサーバーとなると、あったのだろうか、それはあまり考慮されていなかったのではないかと思います。その点 PRIMEQUEST は、圧倒的な信頼性を追求して作られています。私たちがメインフレームで培ってきた技術や、実際にお客様をサポートしてきた経験を、ハードウェアの冗長化に徹底して活かしました。

石井ハードウェアに不具合が発生すると、一般的には復旧に時間がかかり長時間の業務停止になってしまいます。業務を止めないためには、まずハードウェアの信頼性を第一に考えなければなりません。そのため、 PRIMEQUEST では、主要なハードウェア コンポーネントを二重化し、業務停止を伴わない、業務停止を起こさせない、信頼性を追求した作りになっています。PRIMEQUEST は、既に多くのお客様に出荷していますが、いまだにハードウェア障害による業務停止は発生していません。

基幹系、勘定系システムに強い富士通だからこそ作れた PRIMEQUESTメインフレーム並みの高信頼性と Windows の使いやすさの融合最新 Intel Itanium 2 の搭載により高負荷時にも安定した性能

―― PRIMEQUEST 500 シリーズについて、もう少し詳しく話をしていただけますか。

松島PRIMEQUEST 500 シリーズは、Montecito と呼ばれていた最新のデュアルコア Intel Itanium 2 プロセッサを採用した大規模ハイエンド サーバーです。Montecito を搭載したことによって、性能面では、社内の実測で従来の 2 倍~ 2.5 倍のパフォーマンスが出ていますので、従来と同じ性能でも CPU 数が半分で済みます。各種ライセンス料も半分で済みます。逆に言えば投資価格が同じで倍以上のパフォーマンスが出るということになります。これはお客様にとって大きなメリットと思っています。また、細かい性能面では、MTL (Mori/Muta Transceiver Logic) という新しい高速伝送技術を投入し、CPU とメモリ間を接続するクロス バーなど、チップ セット間の信号のやりとりにシングルエンド伝送方式という技術を使っています。従来、高速信号伝送を行う場合には、差動伝送方式という技術を使用しており、それに比べてシングル エンド伝送方式は必要なワイヤの本数が半分で済みます。これによってコストが下がると同時に、実装が単純化されるので、信頼性が向上します。それをパラレル バスで動かすという非常に高度な技術を使っています。このようなメモリ アクセス性能の向上やスケーラビリティの向上は、データベース サーバーのようにメモリ アクセスが非常に多いサーバーでは、特にメリットを享受できます。

PRIMEQUEST の前面。ケーブルレス設計により信頼性と保守性の向上を実現

――Intel Itanium 2 を採用した特別な理由はあるのでしょうか。

松島Itanium 2 を採用した理由は、信頼性とスケーラビリティに尽きると思います。CPUのカタログ スペックを見ると、Xeon の方が Itanium 2 より高性能に見えるのですが、多重度を上げたときの安定性とか、CPU そのものの信頼性を考えると Itanium 2 の方が優れています。Itanium 2 と Xeon では、複数の仕事を同時に処理させる場合に、性能差が顕著に現われます。あるお客様の検証では、負荷をそれほどかけない状態では、Itanium 2 も Xeon も同じぐらいの性能であったのに対して、同時処理数を上げて負荷を高くすると、Xeon の性能劣化が Itanium 2 と比べて大きくなりました。Xeon が 3 倍くらいの性能低下だったのに対して、Itanium 2 は 2 倍程度でした。また、Itanium 2 の場合は、CPU を増やせば、負荷をかけても性能が劣化しないことが確認できました。そこが Itanium 2 の強みだと思っています。

――高負荷時にも安定した性能が出せるというわけですね。

松島Itanium 2 であれば性能特性が予測しやすいので、これくらいの業務をやらせたら CPU はどれくらいの負荷になるのか、どれくらいのレスポンスで返ってくるのかといった業務負荷を予測できます。これは、お客様にとって非常に大きなメリットになります。たとえば、インターネット システムになると、リクエストの増加に対して、急激なレスポンスの悪化が発生するケースがありますが、Itanium 2 の場合、高負荷に強いのとスケーラビリティが高いので、Xeon 系サーバーに比べ非常にアドバンテージがあります。Itanium 2 ベースの PRIMEQUEST は業務負荷変動に強い点がお客様に高く評価されている理由だと思っています。必要に応じてお客様にはこの Platform Solution Center で、事前検証後に導入を決めていただいています。

Fujitsu/Microsoft SQL Server 技術支援センターPRIMEQUEST と SQL Server の性能を体感マルチインスタンスでもリニアに性能向上

――Platform Solution Center には、PRIMEQUEST を始めとして、本当にたくさんのサーバーが設置されていますが、どなたでも気軽に検証できるのでしょうか。

松島はい。ここにはストレージを含めて 320 台のサーバーと 21 室の検証ルームがあり、ほとんど毎日フル稼動しています。お客様自身に利用していただくことはもちろん、お客様をサポートされている SIer 様や、当社の SE がお客様の代わりに検証を行っています。導入前に実際に試していただくために、サーバーだけでなく、必要な周辺装置やソフトウェアもすべて貸出しをしています。

――SQL Server 技術支援センターもあると伺っていますが。

石井SQL Server 技術支援センターは、SQL Server と PRIMEQUEST を始めとするサーバーをスムーズに導入し、安定稼動していただくために、導入前に SQL Server を理解していただくためのセンターになっています。フィールド SE のための技術支援として、検証結果をまとめたドキュメントを作成したり、セミナーを行ったりして、技術情報の公開も行っています。これはマイクロソフトと共同で行っているので、個別の深いスキルのサポートも可能です。

――今まで検証をされてきた中で、心に残っているものはありますか。

石井マルチ インスタンスの検証ですね。最近は、サーバー台数が増えてしまって手に余り、悩んでおられるお客様が多く、データベース サーバーの統合のニーズが高まっています。そのようなサーバー統合の 1 つの方法として、SQL Server のマルチ インスタンス構成を検討されるお客様もいらっしゃいます。SQL Server 2005 では、50 インスタンスまで実行可能な仕様になっていますので、これが果たして実用に耐え得るのだろうか、PRIMEQUEST と SQL Server 2005 で実際にどう動作するのか検証を行いました。結果は、先日のお客様向けセミナーでも公表しましたが、インスタンス追加をしていっても安定したレスポンスでリニアなトランザクション処理性能がでることが確認できました。また、このときのシステム負荷への影響も合わせて確認しました。PRIMEQUEST と Windows、SQL Server との相性が確認でき、またPRIMEQUEST がスケーラビリティや多重度に強いことが実証できました。

――サーバー統合によるメリットは、ほかにもあるのでしょうか。

石井サーバー統合は、管理コストの削減やセキュリティ向上にもつながります。たとえば、現在 10 台のサーバーがあるとして、1 台に 1 人が 20% くらいのワークロードをとられている場合、10 台で 2 人分の人件費がかかっていることになります。それを 1 台の PRIMEQUEST に集約すれば、10 台のときと比べて大幅に削減することが可能になります。設置スペースについてもサーバー 10 台分であったところが、PRIMEQUEST 1 台なら 1 m X 1 m 以内で済みます。このような運用コストまでを含めて考えることが重要です。サーバーの価格に対しても、だいたい 5 年で減価償却することになりますので、5 年間トータルでいくらになるのかを考えることが重要だと思います。セキュリティ面では、最近では JSOX 法などにより、データを統合してセキュリティ対策を行いたいというニーズも高まっています。

米国マイクロソフト本社にも導入Windows Server 2003、Longhorn、.NET による機能検証と万全なサポート体制米国に富士通のエンジニアが常駐し、日本固有のニーズに対応

―― Windows について特別に配慮していることはありますか。

松島米国のマイクロソフト本社に PRIMEQUEST を 3 台ほど設置し、Windows Server 2003 の機能検証や性能検証、Longhorn の開発検証を行ってもらっています。.NET チームでは、4 CPU 以上のサーバーの検証には PRIMEQUEST を使っていると聞いています。やはり、ハードウェアのトラブルではデバイス ドライバが関連することが多いので、マイクロ ソフトで実際に使ってもらい検証することは本当に重要だと思っています。また、私たちのエンジニアもマイクロソフト本社に常駐して、ダイレクトにサポート対応できる、トラブル時の体制を整えています。通常は、日本のマイクロソフト経由でトラブル対応していたのですが、PRIMEQUEST の適用分野は基幹系、勘定系が非常に多く、サポート力も求められています。そのために、迅速にサポート対応してもらうしくみと体制作りが必要でした。

――特に日本固有のニーズについては、文化の違いもあって、米国の開発者に積極的に伝えなければ、解決できないことも多いのではないでしょうか。

松島日本のお客様は、単に障害から復旧するだけでなく、障害が発生した理由とそのしくみを知ることを望まれるケースが多くあります。特に私どものお客様は、もともとメインフレームを利用されてきた方が多いこともあって、二度と同じ障害を発生させないために、詳細な情報を知りたがっています。そのようなニーズにきめ細かに対応するために、当社のエンジニアをマイクロソフト本社に常駐させていますので、お客様には安心してご利用いただけると思います。

富士通の IT 基盤 TRIOLE (トリオーレ)最適なインフラのパターン化。システムは土台づくりが大切

――富士通の IT 基盤「TRIOLE」について教えていただけますか。

松島TRIOLE は、当社の考える IT 基盤で、家を建てるときの土台のようなものです。私たちは総合 IT ベンダなので、プロダクトをそれぞれ単体で出すのではなくて、インテグレーションした形で提供しましょうというのが TRIOLE です。ストレージからサーバー、OS、ミドルウェア、ビジネス ロジックまで、それぞれの力がきちんと発揮できるよう連携して動作するようにインテグレーションしてご提案できるのが TRIOLE です。ひと言でいうと、推奨するハードウェアやソフトウェアなど、お客様にとって最適なインフラをパターン化したものになります。

―― TRIOLE の中で PRIMEQUEST と SQL Server はどのような役割を果たすのでしょうか。

石井PRIMEQUEST と SQL Server 2005 は、バックエンド データベースのところでインテグレーションしています。PRIMEQUEST と Windows プラットフォームについては、まずは SQL Server 2005 を優先にして導入を進めています。ハイエンド向けのサーバーとなると、今までは SQL Server が使えて信頼性が高く、かつスケーラビリティのある IA サーバーは選択肢がなかったのですが、PRIMEQUEST の登場によって高信頼、高性能サーバーを選択できるようになり、 SQL Server 2005 で構築したいというお客様が増えてきています。

松島TRIOLE は、システムを導入して終わりではなく、運用までを含んでいます。運用の信頼性を保つためのガイドラインを作成しています。製品から運用、サポートまでをトータルで提案できることが、私たち富士通の強みだと思っています。

―― 最後に、このインタビューを読んでいる方々へメッセージをお願いします。

石井Platform Solution Center をぜひご利用ください。そして、当センターで実際にお客様のシステムを検証して、PRIMEQUEST の信頼性やスケーラビリティを体感していただければと思います。

キーマン プロフィール

石井卓二氏富士通株式会社ソフトウェア事業本部ミドルウェア プラットフォーム事業部プロジェクト部長

松島秀男氏富士通株式会社プラットフォーム ソリューション センターTRIOLE 統括部プロジェクト課長

第 5 回 SQL Server 2005 の進化した開発プラットフォーム

日本固有のニーズを吸い上げ、米国本社へフィードバック調布技術センターの充実したラボ環境では、さまざまな検証が可能データベースサーバーの枠を超えて進化し続ける SQL Server

「キーマン Interview : SQL Server 2005 の真実」第 5 回目は、マイクロソフト ディベロップメント株式会社で Regional Program Manager として SQL Server の開発を担当している笹瀬 行弘 (ささせ ゆきひろ) です。笹瀬は、マイクロソフト調布技術センターで SQL Server の最初のバージョンから開発を担当し、日本固有のニーズを製品に反映するべく、さまざまな活動を行ってきました。お客様やパートナー企業様、SQL Server ユーザー グループの PASSJ、Microsoft MVP などから挙げられる製品使用にかかわるフィードバックや要望を米国本社へ届けると共に、日本のユーザーが求めるクオリティを満たすための活動をしています。また、パートナー企業様との共同検証や、旧バージョンや Oracle からのマイグレーションを支援するラボの提供などを行っており、その成果はホワイトペーパーとして公開しています。初期のバージョンでは日本語版すら存在しなかった SQL Server が、ここまで大きく進化し、単なるデータベース サーバーの枠を超える製品となるまでを、実際に開発に携わった担当者ならではの秘話にご注目ください。

日本のユーザーが求めるクオリティを製品に反映させるために。旧バージョンや Oracle からの移行を支援するマイグレーションラボの開設

―― 調布技術センターの役割とそこでの仕事について聞かせてください。

笹瀬私の業務は、既存の製品をより良いものにするために、日本のお客様やパートナー企業様のニーズや要望をまとめて米国本社にフィードバックし、それを製品に反映させていくのが一番の仕事になります。また、必要に応じて、新しいバージョンのための仕様作成や、日本固有の問題の解決のためのソリューションの提示などを行っています。さらに、ベータ版や CTP (Community Technology Preview) のリリース期間では、早期導入企業様に対して、早期導入プログラム (TAP) の促進や、日本でのベータ プログラムの実施、日本独自のソリューション開発をパートナー企業様と一緒に考え開発を支援していくことなども行っています。

―― 日本固有の問題を本社へ伝えるのは、大変なことなのではないでしょうか。

笹瀬日本の商習慣の違いや日本語のダブルバイト文字の問題などは、米国の開発者にはなかなか理解しづらく、今までにもずいぶんと討論してきましたので、最近はよく理解を示してくれます。また、日本のお客様は、世界的に見てもクオリティに対するニーズが非常に高く、本社では気付かないような細かいフィードバックをたくさんいただきます。米国の開発者もそのようなフィードバックを真摯に受け止めており、どんどん良い方向に向かっていると思います。ですので、SQL Server 2005 の品質向上には、日本のお客様にかなりの部分でご協力をいただいています。

―― マイグレーション ラボについて教えていただけますか。

笹瀬調布技術センターのマイグレーション ラボは、パートナー企業様が行う、自社製品などの SQL Server 2000 から SQL Server 2005 へのマイグレーション (移行) を支援するための検証の場所になっています。既に 2 年ぐらい活動しているのですが、通算で 50 社以上の ISV パートナー様と検証を行いました。今年の 7 月からは、Oracle アプリケーションや Access からのマイグレーション、MSDE 2000 ベースのアプリケーションからのマイグレーションも当ラボで行えるようになっています。

―― マイグレーション ラボは無償で利用できるのでしょうか?

笹瀬はい、パートナー企業様は無償で利用できますので、ぜひ活用していただきたいと思います。

―― 具体的にはどのような支援を行っているのでしょうか?

笹瀬ラボを利用さ�