連載
» 2011年11月21日 00時00分 公開

Windows Insider用語解説:SQL Server 2012

高可用性を実現するAlwaysOn、高速化を実現するカラムストアインデックス、高機能なセルフサービスBI、変更される課金方法など、次期SQL Serverを解説。

[打越浩幸,デジタルアドバンテージ]
用語解説
Windows Server Insider


「用語解説」のインデックス

連載目次


 SQL Server 2012は、2012年前半にリリースが予定されている、SQL Server 2008 R2後継のデータベース製品。開発コード名はDenali(=米国アラスカ州中南部にある、北米大陸の最高峰の名前)、内部的なメジャー・バージョン番号は11になる(SQL Server 2008/R2はVer.10)。

 原稿執筆時点ではRC0(Release Candidate 0)版が提供されており、以下の場所からダウンロードできる。

SQL Server 2012の管理画面

エディションの構成

 SQL Server 2012ではエディション構成が整理・統合され、次の3種類だけになっている。従来のDatacenter EditionはEnterprise Editionになり、新しくBusiness Intelligenceエディションが追加された。

エディション 概要
Enterprise Edition 最上位エディション。全社向けアプリケーションやミッション・クリティカル/Tier-1アプリケーション、プライベート・クラウド、大規模仮想化向けデータベースや大規模データウェアハウス向け。従来のData Centerエディションの置き換え
Business Intelligence(BI) BI向け用途に特化した新エディション。全社向けのレポーティング/分析用途向け。Power View、PowerPivotによりセルフサービスBI(ユーザー自身が自分で操作するBI)用途向け。ただしStandardエディションでも基本的なBI機能は利用可能
Standard 部門用アプリケーション、部門用BI向けエディション。一番基本的なエディション
(そのほかのエディション) 無料のExpress Edition、(MSDN開発者向けの)Developer Editionも別途提供される予定
SQL Server 2012のエディション構成

 それぞれのエディションが持つ主な基本機能は次の通りである。

主な機能 Enterprise BI Standard
サポートする最大CPUコア数 OSの最大コア数まで DB機能=16コアまで/
BI機能=OSの最大コア数まで
16コアまで
基本的なOLTP機能
基本的なレポート/解析機能
プログラミング機能(T-SQL、Spatial Support、FileTable)
管理機能(SQL Server management Studio、ポリシー・ベース管理)
エンタープライズ・データ管理機能(Data Quality Service、Master Data Service)
セルフサービスBI(Power View、PowerPivot for SPS)
コーポレートBI(Semantic Model、Advanced Analytics)
インメモリ型OLAP分析エンジン
アドバンスド・セキュリティ(Advanced auditing、Transparent data Encryption)
データウェアハウス(カラムストア・インデックス、圧縮、パーティショニング)
高可用性(AlwaysOn)
SQL Server 2012のエディション別機能概要

新機能

 SQL Server 2012には新機能がいくつもあるが、詳細については、以下の文書を参照していただきたい。

 以下、主要な機能をいくつか紹介しておく。

Server Core対応によるパッチ適用回数の削減

 ほかのソフトウェア・コンポーネントと同様、SQL Serverに対してもこれまでにさまざまなセキュリティ上の脆弱性などが見つかり、多くのセキュリティ・パッチが提供されているが、パッチ適用時にサービスの停止やシステムの再起動などを要求されることが少なくなかった。だがこれらのパッチのうち、50〜60%がデータベース・エンジン本体に対するものではなく、ユーザー・インターフェイス(UI)に関わるパッチであることが分かっている。そこでSQL Server 2012では、ほとんどのGUIを省いたWindows OSのServer Coreシステムにインストールできるようにした(SQL Serverの管理はリモートからManagement Studioで行う)。これによりSQL Serverに対するパッチの適用回数が削減され、結果としてシステムの再起動やサービス停止などの回数低減が期待できる。

カラムストア・インデックスによる高速化

 カラムストア・インデックスとは、データベースのデータ(行ごとのデータ)から特定の列(カラム)だけを取り出し、圧縮してインデックスを作成する機能である。SQLのSELECT DISTINCTやGROUP BYを使う集計などが高速化され、例えば夜間バッチ処理やDWHの集計処理などで威力を発揮する。

■カラムストア・インデックスとは

■カラムストア・インデックスによる高速化の例

カラムストア・インデックスによる高速化の例
カラムストア・インデックスとは、データベースから特定の列(カラム)だけを取り出して格納・圧縮したインデックスを作成し、データの集計操作などを高速化する技術。下のグラフは、SQL Server 2012の新機能ダイジェスト文書にあるカラムストア・インデックスの実行例。1億2000万件のデータに対する集計処理では、カラムストア・インデックスを利用すると50倍とか100倍の高速化が実現されるという(数値はカラムストア・インデックス検索時間を100とした相対値。小さいほど高速。インデックスなしのフルスキャンやインデックス付きのスキャンより高速化されている。)。

可用性を向上させるAlwaysOn

 従来のSQL Serverでは、可用性を向上させるための技術として、WSFC(Windows Serverフェイルオーバー・クラスタ)やDBM(データベース・ミラーリング)、ログ配布、レプリケーションなどがあり、これらを組み合わせて障害に強いシステムを構築していた。だがこれらの機能は別々の技術であるため(例:WSFCはWindows OSの機能であり、SQL Serverの機能ではない)、組み合わせて使うのは簡単ではなかった。また共有クラスタを組むには(SANやiSCSIなどの)共有ストレージが必要になるし、DBMを使うには監視サーバが必要など、コストもかかっていた。

 SQL Server 2012のAlwaysOnは、これらの問題を解決する高可用性ソリューションである。1台のプライマリ・サーバに対して最大4台のセカンダリ・サーバを割り当て、障害発生時の自動的なフェイル・オーバーやデータベースの同期/バックアップ、負荷分散などを実現する。クライアントからは実サーバ名ではなく仮想サーバ名でアクセスするため、フェイル・オーバーが発生しても継続してアクセスできるし、単なる共有ボリューム(通常のファイル・サーバやNASなど)でクラスタ化できるのでコストも削減できる。

AlwaysOnによる高可用性システム
1台のプライマリ・サーバに対して最大4台のセカンダリ・サーバを組み合わせ(DBMでは1台のみ)、1つのAlwaysOn可用性グループを作成する。プライマリのデータベースはセカンダリへミラーされている。クライアントからはサーバ名ではなく、仮想サーバ名でアクセスするので、フェイルオーバーしても継続してアクセスできる。プライマリに障害が発生するとセカンダリのいずれかが自動的にプライマリに昇格する。セカンダリを物理的に離れた場所に設置すると、ディザスタ・リカバリ対策にもなる(例:東京と大阪など)。セカンダリは常に稼働しており、読み出しのみでアクセスできるため、負荷分散もできるし、セカンダリからデータベースのバックアップを取得することも可能(図はSQL Server 2012の新機能ダイジェスト文書からの引用)。

セルフサービスBI機能のPower View

 Power Viewは、Silverlightをベースとした、ブラウザベースのインタラクティブな分析レポート・ツールである。ユーザー自身が操作して、さまざまなレポートをダイナミックに作成できる。

 従来のSQL Serverでもいくつかレポート機能は持っていた。例えば定型レポートを作成するにはReporting Services、データを操作/分析しながらレポートを作るにはPower Pivot for Excelが利用できる。だがいずれも最終的な出力を基に、さらに踏み込んだ分析をするのは簡単ではない。例えば売り上げグラフのうち、特定の品目に着目して、そこから時系列でまたグラフ化や分析したり、その結果からさらに地域別に分析したりしたければ、分析作業を最初からやり直す必要がある。結果のプレゼンテーションの途中で気になったデータが見つかったので、さらに踏み込んで詳細に検討したい、といった要求には応えづらい。

 これに対してPower Viewでは、例えばグラフのうちの一項目をクリックして取り出してグラフ化するとか、それをさらに別の視点から分析するなどの操作がインタラクティブに行える。

SQL Server Power View
ユーザー自身が自分で操作し、分析するインタラクティブなBIツール。これは上記の体験サイトでの実行例。グラフ中の一部分をクリックして選択すると、それに関連する項目がほかのグラフやテーブル中でもすぐに強調表示されたり、再描画されたりする。グラフや表を作成するには、右上のデータ・ソースから項目名をドラッグするだけでよいなど、インタラクティブに操作できる。

コア数ベースの新ライセンス体系

 エディションを3種類に整理してシンプルにするとともに、SQL Server 2012ではライセンス体系も次のように整理・再構成している。

エディション ライセンス体系 備考
サーバ+CAL CPUコア数ベース
Enterprise コンピューティング・パワーに応じた課金
BI 利用するユーザー数に応じた課金
Standard いずれかを選択可能
SQL Server 2012のライセンス体系
Enterpriseでは全社的な利用が想定されるため、新しいCPUコア数ベースの課金を採用している。セルフ・サービスBIはユーザーごとに利用することが想定されるため、従来と同じサーバ+CAL(サーバごとにライセンスを用意し、さらに利用するユーザーごとにもライセンスを用意する方法)方式を採用している。

 従来はコンピューティング・パワーに応じた課金にするため、CPUのソケット数に応じた課金を行っていたが、これはあまり妥当とはいえなかった。例えば4コアCPU×2ソケットのシステムと、8コアCPU×1ソケットのシステムでは、コンピューティング・パワーはほぼ同じなのに、プロセッサ数ベースの課金では2倍の違いとなる。だが現実のシステムでは物理CPU(ソケット)の数ではなく、コア数に基づいてアプリケーションのサイジング計画を立てるのが普通である。そこでより現実的な方策として、コア数に基づいた課金(コア数ベースの課金)体系を導入する。つまり物理CPU(ソケット)の数ではなく、利用する総コア数に応じて、1コアあたりいくら、という割合で計算する。ただし現在ではマルチコアのCPUが普通なので、1CPU=4コアと想定して、これを課金の下限とし、以後コア数が1つ増えるごとに25%ずつ増加する体系にしている。

総コア数 1 2 4 6 8 12
必要なライセンス数 4 4 4 6 8 12
相対価格 100 100 100 150 200 300
コア数ベースの課金例
1CPU=4コアを基準として、コア数に応じて課金体系にする。1、2、3コアの場合は4コアと同じ扱いとする。物理CPU(ソケット)の数は関係ない。なおHTT(ハイパースレッド)の有無は関係なく、コア数でのみ判断する(例:HTT付きで2コアのCPUは、OSからは4仮想スレッドあるように見えるが、2コアのみをライセンスのカウント対象とする)


 SQL Server 2012 RC0に関する技術的なドキュメントについては以下の参照していただきたい。

「用語解説」のインデックス

用語解説

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。