2015年1月、“SQL Serverパフォーマンスチューニングの匠”として知られる日本マイクロソフト 技術顧問の熊澤幸生氏を中心に、高性能・高信頼のインテル® Xeon® プロセッサー E7 v2 ファミリーを搭載するHP Integrity Superdome XとMicrosoft SQL Server 2014によるパフォーマンス検証が行われた。その結果は、従来のスケールアップ型サーバーの常識を覆すものと言っても過言ではないものだ。熊澤氏は、「他の商用データベースアプライアンスをSQL ServerとHP Integrity Superdome Xでリプレースしていきたい」と意気込みを語る。パフォーマンス検証の結果とともに、匠の域に達した熊澤氏の知見と洞察を紹介しよう。


『SQL Serverの進化の歴史とともに歩んできました』

  ――まずは、SQL Serverとの関わりをご紹介いただけますか。
     
  熊澤氏:私が初めてMicrosoft SQL Serverに触れたのは1994年3月、バージョン4.2の時代です。まだハードウェアの性能も低く、第1世代と呼ばれるSQL Server 4.2 / 6.0 / 6.5は商業的に成功したとは言えません。1995年、ビル・ゲイツは独自のデータベースエンジンの開発を決意します。米国トップクラスのデータベースアーキテクト10数人を採用してプロジェクトをスタートさせたのです。その中心となった人物がNonStop SQLの開発者としても知られるジム・グレイ博士です。その後私は、博士からSQL Serverの動作ロジックや監視すべきポイントなど多くを学ぶとともに、多大な影響を受けることになりました。
プロジェクトの成果として1998年にSQL Server 7.0がリリースされ、2000年に登場したSQL Server 2000で、先行していた他の商用データベース製品と互角以上に戦えるようになりました。当時私が設計・構築・チューニングを手掛けたシステムのほとんどは、アップデートを続けながら現在もSQL Serverをお使いいただいています。
2005年に入り、それまでじっと様子を見ていたB2C金融機関系のお客様が「行けるんじゃないか」とSQL Serverを積極的に採用し始めました。この年が大きな転換点だったのではないかと思います。インテル® Itanium® プロセッサーを32CPU搭載するHP Integrity SuperdomeとSQL Server 2005を組み合わせて、大規模なデータベース環境を構築できるようになったのもこの頃です。


  ――SQL Serverでどのような案件を手掛けてこられましたか。
     
  熊澤氏:私たちは、商用UNIXとOracle Databaseによるシステムが常識だった時代に、SQL Serverで次々とその牙城を切り崩していきました。国内トップクラスの金融機関が、信託銀行部門のシステムをメインフレームからSQL Serverによるオープンシステムに刷新すると発表したときは、業界内外に大きな波紋を呼びました。また、FXオンライントレーディングシステムの構築では、x86サーバー上でSQL Server 2005を稼働させ、処理性能10倍、導入コスト1/10という成果をあげて関係者を驚かせたこともあります。
2005年は、SQL Serverの開発体制においても大きな転換点となりました。当時、SQL Serverの開発責任者だったクエンティン・クラーク(現SAP社 CTO)が開発方針を変えたのです。まず、データベースエンジンのコア部分の品質を作り込み、そこに検証済みのコンポーネントを追加することで製品機能を拡張するアプローチを確立しました。
また同時期に、OLTPやデータウェアハウス、多次元データベースなどのスペシャリストを招集して、SQL Server開発チーム内に「SQLCAT(SQL Server Customer Advisory Team)」を編成しました。SQL Serverの開発に携わるメンバーを大規模プロジェクトに投入し、お客様とともにシステムの課題解決に取り組みながら、そこで得た知見を製品機能や品質の改善に活かすプロセスを構築したのです。こうした取り組みを経て、SQL Serverはミッションクリティカルな要求に応える性能と信頼性、機能を急速に磨き上げていきました。





熊澤 幸生 氏(Yukio Kumazawa) 日本マイクロソフト株式会社 サーバー プラットフォーム ビジネス本部 クラウド アプリケーション ビジネス部 技術顧問

メインフレーム時代から30年以上に渡り多数のデータベース関連プロジェクトを経験。MSDN Regional Director、SQL Serverユーザーグループ(PASS-J)理事などを歴任し、のべ数千人の技術者にSQL Serverのトレーニング・啓発活動を行う。2000年代前半から精力的にSQL Serverのコンサルティングを手掛け、2007年から2015年まで9年連続でマイクロソフトMVP(Most Valuable Professional)を受賞。「SQL Serverパフォーマンスチューニングの匠」と称されるなど、現在も第一線で活躍を続けている。



荒井 太郎 氏(Taro Arai) 日本マイクロソフト株式会社 CSS ビジネス統括本部 デベロッパーツールズ BI & データプラットフォームサポート サポートエスカレーションエンジニア


redhat

『SQL Serverの高速化イノベーションにご注目ください』

  ――最新のSQL Server 2014はどのような進化を遂げていますか。
     
  熊澤氏:SQL Server 2014は「インメモリOLTPエンジン」を実装し、大量のトランザクション処理を要求するアプリケーションの大幅な高速化を可能にしました。スケールアップ型サーバーの大容量メモリを存分に活かせるようになったのです。今回パフォーマンス検証を行った高性能・高信頼のインテル® Xeon® プロセッサー E7 v2 ファミリー搭載の「HP Integrity Superdome X」はその代表格と言えるでしょう。リアルタイム処理、いわゆるOLTPにおいては、NUMA(Non-Uniform Memory Access)を実装したHP Integrity Superdome Xのような強力なサーバーの登場が、SQL Server 2014のパフォーマンス向上に大きく貢献します。 もうひとつ、バッチ処理という難題があります。実は私たちがパフォーマンスチューニングで最も苦労するのはバッチ系なのです。データの塊を小さな単位に分けて並列処理を行うことが、処理時間を短縮する最良の方法ですが、アプリケーション側がきちんとデザインされていないとデータベースのチューニングだけで解決できることは限られてしまいます。そうした状況もSQL Server 2014が打開しつつあります。 たとえば、SQL Server 2014では「カラムストア」というテクノロジーをより進化させて、大量データのローディングを自動的に並列化します。口の悪い言い方になりますが、多少設計の悪いアプリケーションでもデータベース側でバッチ処理の高速化を実現できるのです。


  ――最新のSQL Server 2014の導入や移行は順調に進んでいらっしゃいますか。
     
  熊澤氏:そうですね。SQL Server 2014は、最先端のテクノロジーと機能を優れた安定性とともにご活用いただけることが、すでに多くの導入実績により証明されています。やはり、他の商用データベース製品を大きく上回るコストパフォーマンスを実現していることが大きいと思います。 旧バージョンのSQL Serverからのアップグレードはもちろんですが、他社データベース製品/アプライアンス製品から移行するケースが増えていることにご注目いただきたいと思います。ある日本の大手企業においても、グローバルな基幹系システムをSQL Server 2014に移行するプロジェクトが進んでいます。このお客様を含め、投資対効果の高さがトリガーになったケースは多いはずです。






『データベース設計段階のデザインが最も重要です』

  ――SQL Serverのパフォーマンスチューニングではどんなことに留意されますか。
     
  荒井氏:SQL Server 2014は、特別な配慮をしなくても高いパフォーマンスを発揮するよう設計されています。これは非常に優れた資質なのですが、場合によってはお客様を悩ませてしまうケースもあります。たとえば、かつてないほど重い処理要求があって、ある閾値を超えたとき突然パフォーマンスが頭打ちになる、バッチ処理が予定時間内に終わらなくなる、というようなことが起こり得ます。こうした場合でも、アプリケーション側に手を入れることなく、データベースの物理設計や運用設計を見直すことでパフォーマンスを改善させる方法はあります。

熊澤氏:ですが実際のところは、運用段階でなく設計段階でツボを押さえたデザインをしておくことが最も重要です。特に大規模プロジェクトの場合はスタート時が肝心ですね。私はプロジェクト立ち上げの最初の数日間で、メンバーの教育と意識合わせを徹底的にやることにしています。プロジェクトではデザインレビューを重視し、データベースもアプリケーションも理想的なデザインを追求していきます。






『スケールアップ型サーバーの常識を覆す結果です』

  ――では、今回のパフォーマンス検証の目的を教えていただけますか。
     
  熊澤氏:TPC-Cに準拠したベンチマークテスト環境を用意して、SQL Server 2014とHP Integrity Superdome Xによるパフォーマンスを計測しました。テストは大きく2つ。@HP Integrity Superdome Xのサーバーブレードを1枚、2枚、4枚と増やしていったときのパフォーマンステスト。NUMAサーバーとしてのスケーラビリティを評価します。そして、A4ソケットサーバーHP ProLiant DL580 Gen8とHP Integrity Superdome Xの性能を比較するテストです。


  ――@のパフォーマンス検証では、どのような結果が得られましたか。
     
  荒井氏:HP Integrity Superdome Xのサーバーブレードを1枚から2枚、つまり2NUMAノードから4NUMAノードに拡張したときのパフォーマンスが約1.9倍になりました。同じく8NUMAノードの場合は約1.6倍です。「サーバー内でCPUを増やしても性能はリニアに伸びない」というこれまでの定説を覆す結果だと言えます(図1)。


図1:HP Integrity Superdome X のノード追加によるリニアなパフォーマンス向上


トランザクション/秒



  ――テストに際してはどのようなチューニングを施しましたか。
     
  荒井氏:SQL Server 2014内でデータページの分割、いわゆるPage Latchが多発して同時実行性が向上しない現象が発生しました。私たちは、これに対して「データベースシャーディング」によりNUMAノード単位で効率的に分散処理が行われるようチューニングしました。また、テーブル内のデータ件数を増やす方法も効果がありました。


  ――Aのパフォーマンス比較の結果はいかがでしたか。
     
  荒井氏:HP Integrity Superdome Xに2サーバーブレードを搭載して、同じCPUコア数の4ソケットサーバーHP ProLiant DL580 Gen8の性能を比較した結果では、HP Superdome XがDL580を1.165倍上回りました。また、4サーバーブレード(8ソケット)ではDL580の1.899倍のスコアが出ています。同じコア数で10%以上のパフォーマンス差ということは、HP Integrity Superdome Xで採用しているノードコントローラー「XNC2」の効果があらわれているものと考えられます。NUMAサーバーの実力を引き出すには、CPU間通信のボトルネックを解消する必要があるわけです(図2)。


図2:4CPU環境でのパフォーマンス比較


トランザクション/秒





HP Integrity Superdome Xのハードウェア構成を管理画面(HP Onboard Administrator)で表示。



インテル® Xeon® プロセッサー E7 v2 ファミリー搭載

HP Integrity Superdome X

ベンチマーク環境
ハードウェア構成

  • インテル® Xeon® プロセッサー
    E7-2890 v2 2.80GHz
    (1ノード構成時:2CPU/30コア)
    (2ノード構成時:4CPU/60コア)
    (4ノード構成時:8CPU/120コア)
  • 4TBメモリ

ソフトウェア構成

  • Windows Server 2012 R2 Datacenter
  • SQL Server 2014 Enterprise Edition CU5
製品詳細はこちら

4サーバーブレード(8NUMAノード)内に120コアが実装されている。


『SQL ServerとSuperdome Xが新しい地平を拓きます』

  ――SQL ServerとHP Integrity Superdome Xを組み合わせたときどんな可能性が拓けるでしょうか。
     
  荒井氏:HP Integrity Superdome Xのような超高性能のサーバーを使うと、チューニングしきれていないアプリケーションやデータベースでも高い性能が出てしまいます。ですが、きちんとデザインしてチューニングを施せばさらに高い性能、驚くほどの実力を発揮するはずです。

熊澤氏:目前の話をするならば、他の商用データベースアプライアンス(垂直統合型製品)をSQL ServerとHP Integrity Superdome Xでリプレースしていきたいですね。実際、そうした案件に複数関わっています。データベースの移行は容易なことではありませんが、移行するだけのメリットを見出しているお客様が多くいらっしゃるということです。
また、「どうしたらバッチ処理時間を短縮できるか」と悩んでいるお客様がたくさんいらっしゃいます。インメモリ処理、カラムストアのテクノロジーを最大限活用すれば、バッチ処理を限りなくリアルタイムに近づけることも可能です。現時点では、業務系データベースから数時間かけて分析系データベースにロードするような仕組みがあたり前ですが、OLTPとDWHのデータベースが1つに統合され、ビジネスの動向がリアルタイムで分析データに反映されるとしたらどうでしょう。お客様のビジネスのやり方はがらりと変わるはずです。

SQL Server とHP Integrity Superdome Xなら、常識を変えるようなシステムを実現できます。今から期待が膨らみます。





テストプログラムで12,000ユーザー接続を実行。8NUMAノードに均等に負荷が割り振られていることがわかる。

    HP Integrity Superdome Xについてはこちら
http://www.hp.com/jp/sdx



インテル® Xeon® プロセッサー E7 v2 ファミリー

99.999%というハードウェアレベルの可用性を実現



*1 すべての(4-wayで96、8-wayで192)DIMMと64GB DDR3 LR-DIMMを取り付けることで可能なメモリ容量です。 *2 絶対的な信頼性、可用性、または保守性を提供できるコンピューターシステムはありません。インテル® Run Sure テクノロジー対応システム(対応するインテル® プロセッサーおよび対応テクノロジーを含む)が必要です。一部のインテル® プロセッサーで利用できる内蔵信頼性機能を使用するには、別途ソフトウェア、ハードウェア、サービスまたはインターネットへの接続、あるいはその両方が必要となる場合があります。結果はシステム構成によって異なります。各システムメーカーにお問い合わせください。

お問い合わせ

お電話でのお問い合わせ

Webサイトからのお問い合わせ

エンタープライズ向け製品のご購入前のご相談

HPE Integrity/HP-UXに関するお問い合わせ

03-5749-8328

09:00-19:00 (月曜−金曜)
10:00-17:00 (土曜)
※祝祭日と5月1日は除く

Webサイトから


HPE Integrity NonStopに関するお問い合わせ

Webサイトから

Error processing SSI file

What's New

Topics