技術解説

パーティショニング採用で大企業に対応するSQL Server 2005

―― 大規模データベースで先行するIBMやOracleを追撃 ――

Chris Alliegro
2006/03/23
Copyright (C) 2005, Redmond Communications Inc. and Mediaselect Inc.

本記事は、(株)メディアセレクトが発行する月刊誌『Directions on Microsoft日本語版』2005年11月号p.24の「パーティショニング採用で大企業に対応するSQL Server」を、許可を得て転載したものです。同誌に関する詳しい情報は、本記事の最後に掲載しています。

 Microsoftのデータベース管理およびビジネス・インテリジェンス(BI)プラットフォーム、SQL Server 2005に搭載されるデータベースをパーティションで分割するための新しいメカニズムは、データ・ウェアハウスなどの大規模データベースのパフォーマンスと管理性を向上させる。大企業向けのデータベース・アプリケーション市場を独占するIBMやOracleから市場シェアの奪取を目指すMicrosoftにとって、大規模データベースを管理するための機能強化は有利に働くだろう。ただし最近のベンチマークを見ても、生のパフォーマンスという点では、SQL Server 2005も、未だにOracleやIBMの後塵を拝している。

大企業への浸透狙うSQL Server

 SQL Serverは中小企業における支配的なデータベース管理システムで、Microsoftにとっては重要なドル箱商品の1つだ。実際、SQL Serverは同社のサーバおよびツール部門に年間10億ドル以上の収入をもたらし、売り上げも毎年倍増の勢いで伸びている。しかし、この成功は1つの難問を生み出した。ターゲット市場を完全独占した後、どのように収益の拡大を図っていくかという問題だ。

 Microsoftは従来、SQL Serverの売り上げ拡大を目指して、次のような戦略を立てていた。

  • SQL Serverデータベース・エンジンのコア機能を利用したBIアプリケーション構築をサポートするためのサービスやツールなど、補助的機能の拡充

  • Great Plains、SharePoint Portal Server(SPS)、Systems Management Server(SMS)など、他製品との相互依存性の構築

  • 大企業向けデータベース・エンジンとしてのポジショニングの確立

 このうち最初の2つの戦略には成功したが、SQL Serverを大企業に売り込む段階で、Microsoftは困難な局面を迎えた。中小企業の場合、購入の意思決定はしばしばコストと使い勝手の良さが決め手となり、その点でSQL Serverはロジカルな選択肢になる。しかし、コストよりパフォーマンスや拡張性を重視する大企業の場合、SQL ServerはOracleやIBMに大きく水をあけられている(調査会社IDCによると、2004年度、総額150億ドルに上る全世界のデータベース市場で、IBMとOracleのシェアは2社合わせて70%に達し、Microsoftはわずか13%にとどまった)。

 そのため、SQL Serverの拡張性とパフォーマンスを大企業データベース市場の要求に見合うように改善し、IBMやOracleからシェアを奪い取ることは、同製品の販売拡大に向けて極めて重要なパートになる。

 SQL Server 2005は、まだリリースされていないがTransaction Processing Performance Council(TPC)が実施したパフォーマンス・ベンチマークによると、大規模な意思決定支援データベース(データ・ウェアハウスなど)への照会をシミュレートするTPC-Hベンチマークと、オンライン・トランザクション処理(OLTP)データベースのトランザクションをシミュレートするTPC-Cベンチマークの双方で、現行製品を上回る性能を示しているという。ただし、SQL Server 2005も生のパフォーマンスという点では、ライバルとなるIBMやOracleの最新データベースを凌駕するまでには至っていない。Microsoftは、SQL Server 2005のリリース直前まで、そのギャップを埋めるために全力で取り組むはずだ(SQL Server 2005の最新のパフォーマンス・ベンチマークは、図「SQL Server 2005 のTPC-Hベンチマーク」を参照)。

SQL Server 2005の TPC-Hベンチマーク
 このグラフは、Transaction Processing Performance Council(TPC)のTPC-Hベンチマークの最高値をまとめたものだ。IBM DB2、Oracle 10g、SQL Server 2005および2000のそれぞれについて、大規模な意思決定支援データベース(データ・ウェアハウスなど)に対するクエリをシミュレートしている。水平軸は絶対処理性能をトランザクション/分で示し、垂直軸はハードウェアとソフトウェアの合計コスト1000ドル当たりのトランザクション数/分を示している。各ベンダのデータベースは、ハードウェア構成別に複数のポイントでマークされている。

 ハードウェア構成が異なるため、直接的な比較は難しいが、SQL Server 2005は絶対性能、価格性能比の双方で旧バージョンを上回っている。さらに、SQL Server 2005は競合製品と比べても、価格性能比でわずかながらリードしている。一方、絶対性能ではライバルのIBM DB2やOracle 10gに及ばないが、Microsoftは製品版の出荷までに、こうした状況を打破するべく全力を挙げるだろう。

 このデータは2005年9月15日にTPCのサイトで入手した。ベンチマークと現行スコアの詳細は、同サイトで参照できる。

パーティショニングでパフォーマンスと拡張性が向上

 SQL Server 2005の拡張性を向上させる重要な改善点の1つが、データベース・パーティショニングのサポート強化だ。データベース・パーティショニングは、同一サーバ上あるいは個別のサーバ上の異なるストレージ・ロケーションにパーティションを置き、データベースを分割、拡張する手法だ。前者をローカル・パーティショニング、後者を分散パーティショニングと呼ぶ。

 パーティショニングは、大規模データベースのパフォーマンスと管理性をさまざまな側面から改善する。まず、ローカルでパーティショニングされたデータベースは、複数のディスク・システムに負荷を分散し、マルチプロセッサ・マシンの並列処理機能を活用することで、クエリ・パフォーマンスが向上する。例えば、データ・ウェアハウスや分析用のデータベースに対する一般的なクエリは、地域別販売実績の積算など、データ集計が主な内容だ。マルチプロセッサ・マシン上に適切なパーティションで区切られたデータベースであれば、データ集計の負荷の多くは並列的に実行される。例えば、パーティションで区切られた個々のデータベースをカバーする複数のプロセッサが、それぞれの領域でデータ集計を同時に実行し、最後に1つの結果にまとめることで作業を迅速化できる。同様に、分散パーティショニングも複数のサーバに負荷を分散することでパフォーマンスを向上させることが可能だ。

 パーティショニングはまた、データのアーカイブや一貫性チェックの実行といったデータベースの保守作業による影響を低減できる。これらのオペレーションは、特定のパーティションに限定して実行できるため、ほかのパーティションで処理されるクエリを妨害することがない。

 SQL Server 2005も従来のバージョンも、テーブルを行方向に分割する水平的なパーティショニングはサポートしている。例えば水平パーティショニング方式の場合、項目として氏名、住所、電話番号、勤め先、年齢、性別などの情報が含まれる長大な会員名簿テーブルを、名前のイニシャルごとに26分割することが可能だ。

 

 INDEX
  [技術解説]
パーティショニング採用で大企業に対応するSQL Server 2005
    1.パーティショニング機能の実際
 
 技術解説


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間