システム・インテグレータから見たSQL Server 2005の注目機能マイクロソフト株式会社コンサルティング本部 プリンシパルコンサルタント 棚橋 信勝 氏 聞き手:Windows Server Insider編集長 小川 誉久 2006/01/20 |
|
|
待ちに待ったSQL Serverの新バージョン、SQL Server 2005が発表になりました。今回はシステム・インテグレーションの現場で活躍されているマイクロソフト コンサルティング本部の棚橋信勝さんに、カタログスペックではなく、企業のシステム導入担当者、エンドユーザーの視点から見たSQL Server 2005で注目の新機能をご紹介いただきたいと思います。
■SQL OSの新レイヤ
棚橋:セールストーク的には目玉となる機能がいくつもあるので、そちらの方に目がいきがちです。しかし、SQL Server 2005内部のアーキテクチャの改良が非常に重要です。SQL Server 2005では、SQL OSと呼ばれる新しいレイヤが組み込まれ、より高度なシステムの監視が可能になりました。 |
―― SQL OSというレイヤは従来はなかったのですか。
棚橋:従来はユーザーモード・スケジューラ(UMS)と呼ばれるコンポーネントがあったのですが、これは、現在のハードウェアに関してあまり意識せずに動いていました。それが、SQL Server 2005になるとNUMAアーキテクチャやマルチ・コアなど、システム構成を意識して動くようになります。 |
―― それによって、どういったユーザーメリットがあるのでしょう。
棚橋:数年前においては、せいぜい16プロセッサ程度までしかマルチプロセッサ・システムを利用できなかったのですが、これにより32プロセッサや64プロセッサといった大規模なシステムでも、その性能を生かせるようになります。お客さまから見れば、単一サーバで、より高いスケーラビリティを実現できることになります。 |
―― なるほど、つまりハードウェアのパフォーマンスを最大限生かすようなつくりに一新されたということですね。
棚橋:そうですね。 |
■より詳細なシステム監視を可能にするDMV
棚橋:日本語で「動的管理ビュー」と訳しますが、Dynamic Management View(DMV)と呼ばれる機能について説明します。これは、管理機能の一部でSQL Server 2005の内部で「いままさに起こっていること」をモニタリングするための仕組みです。モニタリング機能は、以前のSQL Server 2000のときからあったのですが、お客さまからは「いま、SQL Serverの内部で何が起こっているのか分からない」という声が多数寄せられていました。 |
―― 「いままさに」起こっていることが分かるということですが、SQL Server 2000のときには、そうした監視機能はなかったのでしょうか。
棚橋:SQL Server 2000では、システム・テーブルと呼ばれるものがあり、このテーブルの中の情報をピックアップするという方法がありました。SQL Server 2005のDMVは、これをもっと体系化したものと考えればよいでしょう。また、何らかの障害や、十分なパフォーマンスが得られない場合、SQL Server 2000では、プロファイラと呼ばれるツールを実行してデータベースの挙動をモニタしていました。 |
―― プロファイラというのは、標準のツールですか?
棚橋:はい、標準のツールですが、このツールはSQL Serverに対して大きな負荷を与えるため、気軽には使えないという問題がありました。パフォーマンスの低下を考慮すると、本番サーバで使える物ではありません。この点DMVは、非常に小さな負荷でシステムをモニタできるため、本番サーバでも計測が可能です。 |
―― システム・テーブルを見るには高度なノウハウが必要、プロファイラは負荷が大きく容易に使えないという問題があったのですね。
棚橋:そうですね。またSQL Sever 2000では、取得できる情報にもかなり制限があったのですが、SQL Server 2005のDMVでは、はるかに多くの情報を取得することが可能になっています。 |
―― なるほど。例えば、実際に詳細なモニタが可能になったことで、どのようなメリットがあるのでしょうか。
棚橋:私が実際に体験した例では、メモリが逼迫(ひっぱく)しているがために動けないクエリを特定することができました。 |
■さらなる可用性向上を実現するミラーリング
―― もう1点、棚橋さんが、お勧めするSQL Server 2005の機能としてミラーリングがあるそうですね。
棚橋:はい。プリンシパル・インスタンスと呼ばれるデータベース・インスタンスからミラー・インスタンスに対してデータベース・ログを同期的に送信することで、両者のデータの状態を同一に保ち、プリンシパル・インスタンスに障害があった場合でも、数秒でのフェイルオーバーを可能にするという仕組みです。 |
―― プリンシパルというのは、メイン側のデータベースで、ミラー・インスタンスはバックアップ側のデータベースですね。
棚橋:そうですね。データベースの更新を行うときに更新情報をログとして記録し、記録したログをプリンシパル・インスタンス自身が記憶するだけでなく、ミラー・インスタンスにも変更内容を転送します。このログ送信により両者の内容を同期させ、障害時でもデータをロスせずにフェイルオーバーできるようになります。 |
―― ハードウェア・レベルのミラーリングは、ずいぶん前からあると思うのですが、これとはどこが異なるのでしょう。
棚橋:ハードウェアで冗長化するという仕組みは、確かに前からありました。しかし、データベースのミラーリングという意味では、ハードウェア・レベルのそれには限界がありました。ログの書き込みによるデータ更新では、順序性を厳密に維持しなければなりません。しかし、物理的に異なるストレージ・ハードウェアでこれを保証するには、パフォーマンスを犠牲にする必要がありました。SQL Server 2005のようなデータベース・システム・レベルのミラーリングなら、そのような不利な点を克服できます。 |
―― 転送されるログ情報は、通常のネットワークを経由して送信されるのですか。
棚橋:そうです。 |
―― では、遠隔地であっても、高速なネットワークさえあれば、理論上はミラーリングができるということですね。しかし、ミラーリングによるパフォーマンスのオーバーヘッドはないのでしょうか。
棚橋:オーバーヘッドはあります。ただ、パフォーマンスの犠牲というのは最小限にとどめることに成功していると、私は見ていますね。 |
―― では、高速なネットワークとサーバを用意すれば比較的リーズナブルな負荷でミラーリングが可能ということですね。
棚橋:そうですね。弊社内のテストでは、15%ほどの負荷で済んでいます。 |
―― 15%というのは、リーズナブルといえる範囲なのでしょうか。
棚橋:ミラーリングによって、万一障害が発生しても、数秒でフェイルオーバーしてサービスを継続できるという可用性の高いシステムになります。このような可用性を手に入れながら、パフォーマンスの低下が15%で済むというのは、非常に価値があると思います。 |
―― 数秒でフェイルオーバーできるということですが、このミラーリングと同じような仕組みを、複数サーバで構成する従来のフェイルオーバー・クラスタでも実現できるように思います。こうした従来のフェイルオーバー・クラスタと、今回のSQL Serverレベルのミラーリングでは、何が違うのでしょうか。
棚橋:フェイルオーバー・クラスタはフェイルオーバーしてから待機系のSQL Serverが立ち上がります。一方、データベース・ミラーリングでは、待機系のSQL Serveも立ち上がった状態にありますので、フェイルオーバーにかかる時間が非常に高速です。 |
―― ちなみに、従来のフェイルオーバー・クラスタを使った場合のフェイルオーバーでは、おおよそどのくらいの時間がかかるのですか。
棚橋:通常、1分から1分半といわれています。 |
―― それが、今回のミラーリングだと数秒で済むということですね。
棚橋:はい。 |
―― ハードウェアを選ばないソフトウェア・レベルのミラーリングでは、大規模クラスばかりでなく、中規模クラスでも導入しやすいということがいえますか。
棚橋:そうですね。ただ、私としてはより大きなシステムで使っていただきたいな、という個人的な希望を持っています。 |
―― 実際には、フェイルオーバー・クラスタと今回のミラーリングを組み合わせることも可能ですね。
棚橋:はい可能です。実際、両者を組み合わせた超高可用性ソリューションの構築がすでに始まっています。 |
―― 棚橋さんのご担当はデータベースの信頼性、可用性の向上ということですが、その棚橋さんから見て、今回のSQL Server 2005ではだいぶ仕事がやりやすくなったという感じでしょうか。
棚橋:やりやすいというより、やりがいがありますよね。もっと大規模なシステムに対しても、SQL Server 2005の機能と性能を生かしていきたいと考えています。 |
―― 逆にいうと、従来のSQL Server 2000のときは、そうしたハイエンド側のスケーラビリティについては厳しい部分があったのでしょうか。
棚橋:そういうわけではありません。しかしシステム設計者や、プラットフォームを選択する意思決定者からすれば、管理機能や監視機能などで不満があったかもしれません。この部分は、今回のSQL Server 2005で大きく改善されました。 |
「IT PRO POWER INTERVIEW」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|