SQL_Server_2012_DWH

Download Report

Transcript SQL_Server_2012_DWH

SQL Server で実現する大規模データ ウェアハウス
日本マイクロソフト株式会社
© 2012 Microsoft Corporation. All rights reserved
1
目次
 SQL Server で実現する大規模データ ウェアハウス
 データ ウェアハウスのこれまでとこれから
 SQL Server の DWH テクノロジー
 データ ウェアハウス構築の目的
 データ活用の敷居を下げるマイクロソフト BI ソリューション
の構成
 DWH アプライアンス
© 2012 Microsoft Corporation. All rights reserved
2
目次
 SQL Server で実現する大規模データ ウェアハウス
 データ ウェアハウスのこれまでとこれから
 SQL Server の DWH テクノロジー
 データ ウェアハウス構築の目的
 データ活用の敷居を下げるマイクロソフト BI ソリューション
の構成
 DWH アプライアンス
© 2012 Microsoft Corporation. All rights reserved
3
SQL Server で実現する大規模データ ウェアハウス
© 2012 Microsoft Corporation. All rights reserved
4
SQL Server で実現する大規模データ ウェアハウス
データ層
プレゼンテーション層
多次元データベース
業務システムのデータベース
Analysis
Services
ユーザー
レポーティング
SharePoint
Server 2010
Power View
財務
分析サーバー
Integration
Services
生産、在庫、購買
ポータル
サーバー
DB Engine
Services
ETL
PowerPivot
for Excel 2010 ローカル パワー
データ ユーザー
データ抽出
データ変換
販売、顧客
Office Excel
データ ロード
データ ウェアハウス
Reporting
Services
Pivot
Table/Graph
CSV 形式データ
エンド
ユーザー
Hadoop on
社外のデータ
経営者、
役員
Hadoop on
レポート
サーバー
Office、PDF
定型レポート
© 2012 Microsoft Corporation. All rights reserved
5
目次
 SQL Server で実現する大規模データ ウェアハウス
 データ ウェアハウスのこれまでとこれから
 SQL Server の DWH テクノロジー
 データ ウェアハウス構築の目的
 データ活用の敷居を下げるマイクロソフト BI ソリューション
の構成
 DWH アプライアンス
© 2012 Microsoft Corporation. All rights reserved
6
データ ウェアハウスのこれまでとこれから
© 2012 Microsoft Corporation. All rights reserved
7
データ ウェアハウスのこれまでとこれから
これまでのデータ ウェアハウスに求められていたもの
夜間バッチでデータを用意して翌日以降に利用可能
IT に詳しいとは言えない経営層にいかに使いやすく直観的な I/F を提供する
かという点に焦点がいくことが多かった
これからのデータ ウェアハウスに求められるもの
膨大なデータを捨てずに保存し、そこから瞬時にインテリ
ジェンスを抽出することが求められる
収集した膨大なデータから、高度な分析処理を通じてインテリジェンスを導き
出すという、より本質的な部分への関心が高まってきている
『データ量の増加と処理時間の短縮』という
相反する 2 つの要素に同時に対処する必要がでてきている
© 2012 Microsoft Corporation. All rights reserved
8
SQL Server の DWH テクノロジー
© 2012 Microsoft Corporation. All rights reserved
9
SQL Server の DWH テクノロジー
『データ量の増加と処理時間の短縮』という
相反する 2 つの要素に同時に対処する
大量データの効率的
• データの分割
な取り扱い
• データの圧縮
• 複数ユーザからのアクセス要求時の効率的なデータ アクセス
検索処理時間の短縮
• 大量データの範囲検索の高速化
• 大量データの結合処理の高速化
• カラムベースのインデックスによる検索の高速化
バッチ処理時間の
短縮
その他
© 2012 Microsoft Corporation. All rights reserved
• バッチ処理・データロード ツール
• 増分データの読み込み
• リソースの動的配分
10
データの分割
© 2012 Microsoft Corporation. All rights reserved
11
データの分割 (データ パーティション概要)
 テーブルを複数のパーティションに分割し I/O を分散
 テーブルをある列値の範囲で分割
 アプリケーションから透過的(改修不要)
 年次・月次集計などのパフォーマンスが向上
 パーティション単位での処理が可能
 インデックスの作成・保守
 バックアップとリストア
 データのサブセットを迅速かつ効率的に
移動可能
2010 年受注
Disk1
2009年受注
Disk2
2008年受注
Disk3
 新しいデータの追加、古いデータの削除を
定期的に行う場合に有効
売上明細テーブル
2010/05
…
2008/01
…
2010/04
…
2009/11
…
ファイルグループ
パーティション2010
FileGroup1
パーティション2009
FileGroup2
パーティション2008
FileGroup3
© 2012 Microsoft Corporation. All rights reserved
12
データ パーティション解説

単一のテーブルをある列値の範囲で分割(論理的な小さな複数のテーブルに分割)して管
理する機能





クエリパフォーマンスにおけるメリット
各種管理操作におけるメリット
データ/ストレージ配置上のメリット
耐障害性におけるメリット
アプリケーションはパーティションが分割されていることを意識しない(アプリケーショ
ンから透過的)
ファイルグループ
大規模なデータを論理的なパーティションで分割
パーティション 1
売上明細テーブル
2008 年
・・
データファイル
パーティション 2
2007 年
・・
パーティション 3
2006 年
・・
パーティション 4
2005 年
・・
SQL Server
© 2012 Microsoft Corporation. All rights reserved
13
クエリパフォーマンスにおけるメリット
 必要なパーティションにのみアクセス(アクセス範囲を限
定)することにより、クエリパフォーマンスの向上を実現
 SQL Server 2008 以降、パーティションレベルでのロック
制御が可能になり、同時実行制御における柔軟性向上
売上明細テーブル
2008 年
どのパーティションにアクセス
すべきかは SQL Server が自動
的に判断
2008 年 1月15 日のデータを挿入
INSERT INTO
売上明細テーブル
・・・
2007 年
複数パーティションに対する
高速なクエリの実行
2006 年
2006 年 3月10日 ~
2007年4月25日のデータを検索
SELECT ~ FROM
売上明細テーブル
・・・
SQL Server 2008 よりパーティションをまたが
るケースでもマルチスレッド スキャンが可能に
2005 年
パーティションレベルのロック
エスカレーション制御により同
時実行性を向上
SQL Server
© 2012 Microsoft Corporation. All rights reserved
14
各種管理操作におけるメリット
 大規模データの管理効率を向上
 データ量の増大とともに時間のかかる処理




大量データのローディング
インデックスの作成と維持管理
バックアップ/リストア
大量データの削除
新規パーティション
売上明細テーブル
2009 年
2008 年
2009年度のデータを
ローディング
2007 年
2006 年
削除パーティション
2005 年
© 2012 Microsoft Corporation. All rights reserved
15
データ/ストレージ配置上のメリット
 ILM(Information Lifecycle Management):情報のライフサイクル管
理を実現
 データ圧縮と組み合わせて使用することで『目的に応じた効率的な』データの
配置を実現
 パーティション毎にストレージの配置先を設定可能
 パーティション毎に圧縮/非圧縮を設定可能
(Ex)
• 参照頻度の高いデータ:非圧縮
• 参照頻度の低いデータ:圧縮
当年度の参照頻度が高く更新も発生する
データは圧縮せずに高速ストレージに格納
売上明細テーブル
2008 年
高速ストレージ
前年度実績データは圧縮を行い
高速ストレージに格納
2007 年
2007 年
2006 年
2006 年
参照頻度の低くなったデータは圧縮
して中低速ストレージに格納
2005 年
2005 年
中低速ストレージ
SQL Server
© 2012 Microsoft Corporation. All rights reserved
16
耐障害性におけるメリット
 ダウンタイムの削減
 パーティション単位でのバックアップ/リストアが可能
 障害の局所化を実現
 障害発生パーティション以外は通常通り使用可能
障害が発生した 2008 年パー
ティションだけをバックアップ
からリストア
売上明細テーブル
2008 年
障害
2007 年パーティションは
アクセス可能
2007 年
OK
2006 年パーティションは
アクセス可能
2006 年
OK
2005 年パーティションは
アクセス可能
2005 年
OK
SQL Server
© 2012 Microsoft Corporation. All rights reserved
17
データ パーティション x データ圧縮検証結果
© 2012 Microsoft Corporation. All rights reserved
18
データ パーティション
x データ圧縮による効果
 1 パーティション(2,000万件)を選択するクエリを実
行し、データ パーティションとデータ圧縮によるパ
フォーマンスを検証
パーティション 1
売上明細テーブル
2008年/1月
パーティション 2
2008年/2月
パーティション 3
2008年/3月
パーティション 4
2008年/4月
select 売上数量 from 売上明細 where 年月日 >=
'2008/01/01 0:00:00' and 年月日 < '2008/02/01
0:00:00‘
select 売上数量 from 売上明細where 年月日 >=
'2008/03/01 0:00:00' and 年月日 < '2008/04/01
0:00:00
...
SQL Server
以降、SQL Server 2008 での検証結果を記載
今回の検証ではパーティション vs 非パーティションのパフォーマンス比較は実施していない
© 2012 Microsoft Corporation. All rights reserved
19
パーティション x データ圧縮
~ 検索性能 ~
3000
2,532
2,469
2500
2,299
2,247
1000 rows/sec
2000
1500
922
1000
521
500
0
キャッシュなし
キャッシュあり
キャッシュなし
非圧縮
非圧縮
キャッシュあり
キャッシュなし
キャッシュあり
行圧縮
ページ圧縮
行圧縮
ページ圧縮
キャッシュなし キャッシュあり キャッシュなし キャッシュあり キャッシュなし キャッシュあり
処理性能
(1000
row/sec)
520.8
2247.2
921.7
2298.9
2469.1
2531.6
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
20
パーティション x データ圧縮
~ CPU 使用率 ~
30
25.3
25.4
25
% Processor Time (Total)
22.6
22.6
20
15
10.4
10
8.5
5
0
キャッシュなし
キャッシュあり
キャッシュなし
非圧縮
非圧縮
キャッシュあり
キャッシュなし
キャッシュあり
行圧縮
ページ圧縮
行圧縮
ページ圧縮
キャッシュなし キャッシュあり キャッシュなし キャッシュあり キャッシュなし キャッシュあり
% Processor
Time
8.5
22.6
10.4
25.3
25.4
22.6
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
21
パーティション x データ圧縮
~ Average Disk Queue Length ~
80
64.2
62
Average Disk Queue Length
60
40
20
1
0.4
0
キャッシュあり
キャッシュなし
キャッシュあり
0
0
キャッシュなし
キャッシュあり
キャッシュなし
非圧縮
非圧縮
行圧縮
ページ圧縮
行圧縮
ページ圧縮
キャッシュなし キャッシュあり キャッシュなし キャッシュあり キャッシュなし キャッシュあり
Average Disk
Queue Length
64.2
0
62
1
0.4
0
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
22
パーティション x データ圧縮
~ 検証サマリ ~
 行圧縮、ページ圧縮のいずれも非圧縮と比較すると
CPU リソースの消費量は多くなるが、それ以上の割合
で検索性能が向上していることが確認できる。
相対値
5
非圧縮
行圧縮
ページ圧縮
処理性能
(1000 row/sec)
520.8
921.7
2469.1
処理性能
(非圧縮 & キャッシュなし)を
1 とした時の相対値
1
1.77
4.74
% Processor Time
8.5
10.4
25.4
% Processor Time
(非圧縮 & キャッシュなし)を
1 とした時の相対値
1
1.22
3
4.5
4
3.5
3
2.5
4.74
2
1.5
3
1
0.5
1
1.22
圧縮なし
行圧縮
1.77
1
0
ページ圧縮
% Processor Time
圧縮なし
行圧縮
ページ圧縮
いずれもキャッシュなしの結果を比較
処理性能(1000 rows/sec)
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
23
データの圧縮
© 2012 Microsoft Corporation. All rights reserved
24
データ圧縮
 運用データベース全体のサイズを縮小
 ストレージの使用領域を節約して、より多くのデータを格納
 ディスク I/O の削減とデータ サイズの減少で、クエリ パフォーマンスが
向上
 通常のデータと同様に操作が可能、アプリケーションへの変更が不要
日付
購入番号
区分
価格
20100601
1-BB-2A01
99550
8883000
20100602
1-BB-1288
88500
110200550
20100602
1-BB-25F1
99500
110200500
20100602
1-BB-2500
31800
110000
20100602
1-BB-25F8
99200
28550
20100603
3-BB-31AB
99555
11200
行 (ROW) 圧縮
固定長カラムを可変長として格納
購入番号
区分
20100601
1-BB-2A01
99550
8883000
20100602
1-BB-1288
88500
110200550
20100602
1-BB-25F1
99500
110200500
20100602
1-BB-2500
31800
110000
20100602
1-BB-25F8
99200
28550
20100603
3-BB-31AB
99555
11200
データ パーティションで分割したパーティション
単位でも、圧縮レベルを変えられるため、更新頻度
などの特性に合わせた利用が可能
ページ圧縮
列ごとに重複している情報を圧縮
日付
日付
データ圧縮
複数レベルのデータ圧縮を提供し、
ストレージの節約とパフォーマンスの向上を実現
価格
20100602
購入番号
1-BB-25F1
区分
99550
価格
110200550
さらに詳細レベルで
重複している情報を圧縮可能
日付
購入番号
20100602
1-BB-25F1
0
7 1
Null
5 1288
Null
Null
Null
7 00
Null
7 3
© 2012 Microsoft Corporation. All rights reserved
Null
6 A01
0 8883000
7 1
区分
700
99550
1
価格
110200550
2200
Null
6 A01
0 8883000
Null
5 1288
00
Null
Null
0 31800
3 000
Null
0
0 31800
3 000
8 8
2
200
0 28550
Null
8 8
1
0 28550
0 3-BB-31AB
4
5
2 200
0 3-BB-31AB
4
Null
0 88500
3
00
7
7 3
Null
0 88500
3
00
5
0
1
25
データ圧縮による効果(データサイズ)
データサイズの比較
~ 圧縮なし vs. 行圧縮 vs. ページ圧縮 ~
3000
圧縮なし
2500
使用ページ数
(x 1000 pages *1)
x 1000 pages
2500
2000
圧縮率 *2
1429
1500
行圧縮
ページ圧縮
2500
1429
91
100.0%
57.1%
3.7%
*1:8KB / 1page
*2:圧縮なしを1とした時の割合
1000
500
91
0
圧縮なし
行圧縮
ページ圧縮
圧縮処理時の平均 CPU 使用率
圧縮処理時間
200
80
時間(秒)
150
100
62.7
50
0
% Processor Time
67.5
159.7
60
40
20
14.1
0
行圧縮
ページ圧縮
行圧縮
ページ圧縮
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
26
バックアップ圧縮で管理時間を短縮
 運用データを圧縮しながら高速にバックアップ
 ディスク I/O の減少により、大規模データをより短時間でバッ
クアップ/復元
 1 つのメディアに保存できるデータ量が増加
 メディアの購入や保管スペースなど、バックアップ コストの節
約を実現
簡単なバックアップ圧縮の利用
• 管理ツール: バックアップ圧縮を有効化
• Transact-SQL : WITH COMPRESSION を付加
完全バックアップと差分バックアップに対応
日々の業務で変更されたデータも
圧縮してバックアップ可能
バックアップコストの削減
メディアの購入コストや保管スペースなどを削減
より少ないメディアに
バックアップを保管
バックアップ
圧縮
バックアップ時間を短縮
データを圧縮しながら
高速にバックアップ
SQL Server
バックアップ機器
高速な復元でダウンタイムを削減
データコピーの時間短縮で迅速な復旧を実現
© 2012 Microsoft Corporation. All rights reserved
27
バックアップ圧縮による効果
Backup ファイルサイズ
ファイルサイズ(GB)
25
20.73
圧縮なし
20
15
ファイルサイズ (GB)
10
圧縮率 *1
圧縮あり
20.73
1.63
100.0%
7.9%
*1:圧縮なしを1とした時の割合
5
1.63
0
Backup 圧縮なし
Backup 圧縮あり
Backup 処理時間
Backup 圧縮処理時の平均 CPU 使用率
300
200
150
100
60.3
50
0
% Processor Time
処理時間(秒)
250
100
240
80
60
40
11.2
20
1.3
0
Backup 圧縮なし
Backup 圧縮あり
Backup 圧縮なし
Backup 圧縮あり
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
28
バックアップ圧縮 x データ圧縮検証結果
© 2012 Microsoft Corporation. All rights reserved
29
バックアップ圧縮
x データ圧縮 による相乗効果
 データ圧縮との組み合わせによる比較
Backup ファイルサイズ
Backup 圧縮なし
ファイルサイズ(GB)
25
圧縮なし
Backup 圧縮あり
ファイルサイズ
(GB)
20.73
Backup
圧縮なし
20
Backup
圧縮あり
12.56
15
行圧縮
圧縮なし
との比較
20.73 100.0%
1.63
7.9%
ファイルサイズ
(GB)
ページ圧縮
圧縮なし
との比較
圧縮なし
との比較
ファイルサイズ
(GB)
30
12.56
60.6%
2.33
11.2%
1.21
5.8%
0.95
4.6%
10
5
1.63
1.21
2.33
0.95
0
圧縮なし
行圧縮
ページ圧縮
Backup 圧縮処理時間
Backup 圧縮なし
圧縮なし
Backup 圧縮あり
処理
時間(秒)
300
Backup
圧縮なし
時間(秒)
240
200
100
Backup
圧縮あり
145.9
60.3
39.5
27.5
圧縮なし
との比較
240.0 100.0%
60.3
25.1%
行圧縮
処理
時間(秒)
ページ圧縮
圧縮なし
との比較
処理
時間(秒)
圧縮なし
との比較
145.9
60.8%
27.5
11.5%
39.5
16.5%
13.5
5.6%
13.5
0
圧縮なし
行圧縮
ページ圧縮
※ 大規模データ ウェアハウス実践ガイド(運用管理編) http://www.microsoft.com/japan/sql/bible/cqi.mspx より抜粋
© 2012 Microsoft Corporation. All rights reserved
複数ユーザからのアクセス要求時の効率的なデータ アクセス
© 2012 Microsoft Corporation. All rights reserved
31
複数ユーザからのアクセス要求時の効率的なデータ アクセス
 メリーゴーランド スキャン
 複数ユーザから、同一のテーブルに対してスキャン要求が発行された際に有効
に働く機能
 この機能により、同時実行のクエリに対してもシーケンシャル READ を続ける
事が可能。またReadしたデータの有効活用も行い、多重度が上がる処理に対し
て安定したパフォーマンスを提供する事が可能
User 1: 25% スキャン済
User1 が25%スキャン
した時にUser2 から
スキャン要求があった場合
User 2: スキャンスタート
(User1の IO 結果を共有。SQL Server からの IO命令はUser1
の要求のみ。StorageはシーケンシャルREADを続ける)
User 1: スキャン完了
User 2: 75% スキャン済
User 2: 残り25% スキャン
© 2012 Microsoft Corporation. All rights reserved
2つの同時クエリに対して、
・一番効率の良いシーケンシャル READ
・読み取り量は 1.25
で処理しています
32
大量データの範囲検索の高速化
© 2012 Microsoft Corporation. All rights reserved
33
大量データの範囲検索の高速化
 クラスター化インデックススキャン
 クラスター化インデックスを作成すると、インデックスとテーブル
が合体した構造となる
 インデックスに合わせてテーブルのデータがソートされた状態
通常、大量の明細データのテーブルには範囲指定検索が行われる
クラスター化インデックス スキャンを利用する事により
大量データの範囲検索でも必要なデータ範囲だけを読む事が可能
検索パフォーマンスの向上を実現
クラスター化インデックス スキャンの動作
データはソートされている
① インデックスをシーク
①
②
② インデックスシークで範囲の起点を決定
③
③ データはソートされているので必要な範囲
を超えたら読み取り完了
必要なデータだけを読む事ができる
© 2012 Microsoft Corporation. All rights reserved
34
大量データの結合処理の高速化
© 2012 Microsoft Corporation. All rights reserved
35
大量データの結合処理の高速化
 ビットマップ フィルター
 ファクト テーブルのデータのうち、ディメンション テーブルと
結合するのに適した行だけを処理
 Date, product, store, customer のようなディメンションテーブ
ルと sales のようなファクトテーブルを明確に区別
ディメンションテーブルとファクトテーブルを結合してディメンションテーブルに検索条件を指定する
1.ディメンション テーブル
に検索条件を指定して検索
ディメンション
ファクト
2.検索条件に合致したディメン
ションの対象行を読み取る
ファクトのスキャン
3.ファクトテーブルは、ビットマップフィルターによりディメンション テーブルと結合す
るのに適した行だけを処理
© 2012 Microsoft Corporation. All rights reserved
36
ビットマップ フィルターを使った時の動作
①対象ディメンションの情報を元に
Bitmap Filterが作成される
④ ハッシュジョインの
対象行数が減る
③この部分を通過する行数が減る
②Bitmap Filterを条件にして
スキャン対象行を制限する
Table Scan
with Bitmap Filte
Opt_Bitmap1008
⇒ Bitmap Filterの使用を意味する
© 2012 Microsoft Corporation. All rights reserved
37
ビットマップ フィルターを使わない時の動作
全行スキャンする
© 2012 Microsoft Corporation. All rights reserved
38
ビットマップ フィルターの利用
Bitmap Filterの移動、
並び替えが可能
Hash Join
より効果が高い
(選択率が高い)
Filterを最初に適用する
Dimension 2
Hash Join
Bitmap
Filter 2
Dimension 1
© 2012 Microsoft Corporation. All rights reserved
Bitmap
Filter 1
Fact Table
Scan
39
39
複数のビットマップ フィルターの作成と利用
複数のビットマップ フィルターを作成
Opt_Bitmap1008 / Opt_Bitmap 1009 の
2つのビットマップ フィルターをテーブルスキャン
時に利用している
© 2012 Microsoft Corporation. All rights reserved
40
ビットマップ フィルター特長
 メモリ上に展開される読み取り専用の構造体
 ディメンションテーブルを読み、選択される列値に1を立ててい
く
 ハッシュジョイン用のハッシュインデックスよりもメモリ使用
量が少ない
 選択性が高いと効果が少ない
 単なるハッシュジョインの方が高速
 DMLに対するオーバヘッドなし
© 2012 Microsoft Corporation. All rights reserved
41
ビットマップ フィルターが作られる要件 / 要素
 ファクトテーブルのページ数が100以上
 ファクトテーブルとディメンションテーブル間の内部結合の
み考慮される
 ファクトテーブルとディメンションテーブル間の結合が単一
列であること
 整数ベースの列の方がビットマップ フィルターが作られやすい
⇒サロゲートキーを使用した方が作られやすい
 主キーと外部キーの関係である必要はない
 ディメンションの入力基数 < ファクトテーブルの入力基数
 統計情報から情報取得
 メモリが不足している場合は作成されない
 並列クエリプランでないと作成されない
 パラレルクエリ高速化のための機能
 ハッシュ結合 / マージ結合の場合のみ作成される
 ループ結合では作成されない
© 2012 Microsoft Corporation. All rights reserved
42
カラムベースのインデックスによる検索の高速化
© 2012 Microsoft Corporation. All rights reserved
43
カラムベースのインデックスによる DWH ワークロードの高速化
カラム ストア インデックスによるパフォーマンスの向上
 カラムストア
 一般的な RDBMS のデータ格納形式(行方式)とは対照的に、1 つの列の値が連続的に格納される形
式
 カラムストア インデックス
 上記格納形式を実装した新たなインデックス
 日次集計や月次集計など、参照処理を行うデータ ウェアハウスのパフォーマンスを劇的に向上
 列単位でインデックスを格納し、同一データ型を高度に圧縮
 PowerPivot for Excel® 2010 のインメモリのカラム ベース エンジンを応用
いままでは...
12,000
日付
購入番号
区分
20111001
11-AAA-11
200
1000
20111001
11-AAA-12
100
2000
20111002
12-BBB-21
300
20111003
12-BBB-22
300
20111003
13-CCC-31
200
1 億 2000 万件で
約 100 倍の性能向上
価格
10,000
102 倍
列やデータの
1800
量が増えると
6000
パフォーマン
スへの影響が
4500
拡大
カラム ストア インデックスでは
列単位にまとめてページに格納することで参照時の不要な I/O を削減
8,000
6,000
4,000
47 倍
25 倍
2,000
20111001
11-AAA-11
200
20111001
11-AAA-12
100
20111002
12-BBB-21
300
フル テーブル スキャン
20111003
12-BBB-22
300
非クラスター化インデックス
20111003
13-CCC-31
200
カラム ストア インデックス
© 2012 Microsoft Corporation. All rights reserved
59 倍
0
DISTINCT
GROUP BY
10,244
4,693
5,970
2,496
100
100
※エスキューエル・クオリティ社の検証結果
カラム ストア インデックスのパフォーマンスを 100 とした場合のパ フォーマンス
44
を相対で比較
行ベースの場合
Select 商品名, 梱包単位 from 商品テーブル
※商品コードにクラスタ化インデックスが構築されている場合
行ベースの場合、SELECT 文の結果
を返すに際し、必要のない列もバッ
ファキャッシュに載ってしまう
バッファ キャッシュ
© 2012 Microsoft Corporation. All rights reserved
45
列ベース(カラムストア インデックス)の場合
Select 商品名, 梱包単位 from 商品テーブル
※商品コードにクラスタ化インデックス
バッファキャッシュには必要な列だけがのる
• ディスクからの読み出し量が減る
→ I/O 量の削減
• バッファ キャッシュに余計なものを載せない
→ メモリの有効活用
バッファ キャッシュ
© 2012 Microsoft Corporation. All rights reserved
46
カラムストア インデックスとは
Select SUM(売上) ・・・
102
76
201106 200
103
92
201109 150
102
76
201106 200
103
92
201109 150
・・・
日付
売上
52
201105 100
102
76
201106 200
103
92
201109 150
・・
・
23
・・
・
・・
・
104
© 2012 Microsoft Corporation. All rights reserved
201112 300
101
・・
・
300
商品
ID
・・
・
150
注文
ID
23
・・
・
200
売上
201105 100
104
100
日付
52
・・
・
201112 300
商品
ID
101
・・
・
・・
・
・・
・
23
・・
・
・・
・
104
注文
ID
201112 300
47
カラムストア インデックス アーキテクチャ
Min:1
Max:10
 Segment
Segment
Min:オタル白ラベル
Max:果汁100% レモン
Min:50
Max:2800
 特定の列のデータの塊をさ
す。よって、Segment には
他の列のデータは含まれな
い
 PowerPivot で使用されてい
るのと同様の xVelocity inmemory technologies を
使って圧縮
 Segment 毎に Segment 内
の Min/Max 値をメタデータ
として保持する
 Row group
 同一の行のデータが含まれ
る Segment は同一の Row
Group として管理される。
Row group
Min:アメリカンクラッカー
Max:メロンミルクキャンディー
© 2012 Microsoft Corporation. All rights reserved
Min:140g × 50個
Max:5個× 25袋
48
カラムストア インデックスについて
 メリット
 列方式は行方式と比較すると、値の冗長性(redundancy)が高く
なる可能性がある為、結果として圧縮がよりかかる可能性がある。
 圧縮が進むことにより、I/O が減り、メモリの中に保持されるデー
タが多くなることでクエリのレスポンス タイムが向上し得る。
 列方式は、列個別にアクセスすることができるので、一部の列だけ
を必要するクエリの場合には I/O 量を削減可能。
 検索に利用される列を複数含んだインデックスを1つ作成する事で
設定完了。列の組み合わせ、順番等は考慮する必要がないので、設
定は非常に容易。
 デメリット
 幾つかの列ではなく、行としてデータが必要な場合には、列方式は
不向き。個別に列毎に格納されている値を結合し直す必要がある
為。
 選択性の高いクエリ、1 行または少量のレンジ幅の行を Lookup す
るようなクエリの場合には、行方式の B-Tree の方が適している。
© 2012 Microsoft Corporation. All rights reserved
49
Batch 実行モードによる処理高速化
 Batch 実行モード
 SQL Server 2012 からの新機能
 Row 実行モードの場合、一度に処理できるのは 1
行のみなのに対して、Batch 実行モードは一度に大
量の列データ(一般的には 1,000 行分)を効率的な方
法で処理することができる
 1 つの Batch の中でそれぞれの列は別々のメモリ領
域にベクター データとして確保されることから、
Batch 実行モードはベクター方式の処理方式といえ
る。
© 2012 Microsoft Corporation. All rights reserved
50
カラムストア インデックス利用時のクエリの動作
CREATE TABLE T2 (TxDate DATE,
CustId INT, ProdId INT, Amt FLOAT);
Min 2011-01-01 Min 1
Max 2011-01-25 Max 415
Min 18
Max 230
Min 10.65
Max 88.62
Min 2011-01-26 Min 19
Max 2011-02-14 Max 392
Min 165
Max 400
Min 22.63
Max 120.41
Min 2011-02-14 Min 5
Max 2011-03-02 Max 378
Min 8
Max 258
Min 5.95
Max 96.25
CREATE CLUSTERED INDEX ci ON T2
(TxDate, CustId);
CREATE NONCLUSTERED
COLUMNSTORE INDEX ncci
ON T2 (TxDate, CustId, ProdId,
Amt);
SELECT CustId, sum(Amt) FROM T2
WHERE TxDate < '2011-01-15'
GROUP BY CustId;
© 2012 Microsoft Corporation. All rights reserved
51
カラムストア インデックス利用時のクエリの動作
CREATE TABLE T2 (TxDate DATE,
CustId INT, ProdId INT, Amt FLOAT);
Min 2011-01-01 Min 1
Max 2011-01-25 Max 415
Min 18
Max 230
Min 10.65
Max 88.62
Min 2011-01-26 Min 19
Max 2011-02-14 Max 392
Min 165
Max 400
Min 22.63
Max 120.41
Min 2011-02-14 Min 5
Max 2011-03-02 Max 378
Min 8
Max 258
Min 5.95
Max 96.25
CREATE CLUSTERED INDEX ci ON T2
(TxDate, CustId);
CREATE NONCLUSTERED
COLUMNSTORE INDEX ncci
ON T2 (TxDate, CustId, ProdId,
Amt);
SELECT CustId, sum(Amt) FROM T2
WHERE TxDate < '2011-01-15'
GROUP BY CustId;
読み込みが必要なのは 3 つの
Segment だけ
© 2012 Microsoft Corporation. All rights reserved
52
カラムストア インデックスの作成
<SSMS から>
<T-SQL から>
CREATE NONCLUSTERED COLUMNSTORE
INDEX ncci ON myTable(OrderDate,
ProductID, SaleAmount)
© 2012 Microsoft Corporation. All rights reserved
53
カラムストア インデックスについて
 その他のポイント
 カラムストア インデックスは DWH クエリを強化するようにデザインされ
ている。(OLTP には全く適さない)
 大量データのスキャン、集計、スター型 Join のような複数テーブル Join
に最適化されている。
 カラムストア インデックスは大規模なファクトやディメンションテーブル
に対して適しており、小さなテーブルにはこれを作成してもパフォーマン
ス上のメリットはないばかりかメンテナンスコストがかかる。
 インデックス作成時は並列処理が可能。
 インデックスは、作成時に xVelocity in-memory technologies のアルゴ
リズムを利用した圧縮が行われる為、行やページの圧縮機能はカラムスト
ア インデックスには使用できない。
 一般的には、同じ列数の B-Tree インデックス作成と比較して 1.5 倍程度
の時間がかかる。
 使用するメモリ量は、列数、文字列型の列数、並列度、データの特性に
よって変わってくる。
 見積もり計算式
Memory grant request in MB = [(4.2 * カラムストア インデックスに含まれる列
数) + 68] * DOP + (文字列カラム数 * 34)
© 2012 Microsoft Corporation. All rights reserved
54
パフォーマンス結果の一例
 環境
 TPC-DS データベースの 1 TB 版を使用
 catalog_sales ファクト テーブル 14.4 億件
 32 コア / 256 GB メモリ
 実行クエリ
SELECT w_city, w_state, d_year, SUM(cs_sales_price) AS cs_sales_price
FROM warehouse, catalog_sales, date_dim
WHERE w_warehouse_sk = cs_warehouse_sk
and cs_sold_date_sk = d_date_sk and w_state in ('SD','OH')
and d_year in (2001,2002,2003)
GROUP BY w_city, w_state, d_year
ORDER BY d_year, w_state, w_city;
 結果
600
500
sec
400
300
200
100
0
CPU Time
Elapsed Time
カラムストアなし
502
501
カラムストアあり
31
1.1
© 2012 Microsoft Corporation. All rights reserved
55
制限事項
 カラムストア インデックスをフィルター選択されたイ
ンデックスとして作成できない
 カラムストア インデックスに以下の列を使用すること
はできない
 計算列
 スパース列
 インデックス付きビューに対して、カラムストア イン
デックスは作成できない
 カラムストア インデックスに含めることができない
データ型
decimal
numeric
有効桁数 が 18 桁を超える場合
datetimeoffset
binary
varbinary
有効桁数 が 2 桁を超える場
合
image
text
ntext
varchar(max)
nvarchar(max)
cursor
hierarchyid
timestamp
uniqueidentifier
Sqlvariant
xml
© 2012 Microsoft Corporation. All rights reserved
56
データの更新に対して
カラムストア インデックスが作成されたテーブルには DML 文
(Insert/Update/Delete/Merge)が使用できなくなる。
 運用方法として考えられる 3 つの方法
 インデックスの無効化と再構築
1. カラムストア インデックスを無効化(Disable)
• ALTER INDEX my_index ON T DISABLE
2. データの更新
3. カラムストア インデックスの再構築(Rebuild)
• ALTER INDEX my_index ON T REBUILD
 パーティショニングの使用
1. ステージング テーブルでデータの更新
2. ステージング テーブルでカラムストア インデックスの構築
• CREATE NONCLUSTERED COLUMNSTORE INDEX my_index ON
StagingT(OrderDate, ProductID, SaleAmount)
3. ステージング テーブルからターゲット テーブルにパーティション切替
• ALTER TABLE StagingT SWITCH TO TargetT PARTITION N
 Union の使用
1. 更新がかからないデータはカラムストア インデックスがあるテーブルに格納
2. 更新がかかるデータはカラムストア インデックスのないテーブルに格納
3. 参照時はこれらを Union する。もしくは、Union したビューを作成し、これを
参照させる。
© 2012 Microsoft Corporation. All rights reserved
57
バッチ処理・データロードツール
© 2012 Microsoft Corporation. All rights reserved
58
バッチ処理・データロード ツール
 迅速なデータ ウェアハウスの構築を実現する Integration Services
 エンタープライズ ETL (Extract/Transform/Load) 機能を提供
 さまざまなシステムやファイルに含まれるデータを抽出、変換、ロード
 パフォーマンスのさらなる向上で、迅速なデータ ウェアハウスの構築と
運用を支援
 メンテナンスタスクを活用することにより日々のメンテナンスを自動化
Integration Services
さまざまなデータソースから
データを統合
SQL Server
ETL
• データの抽出
• データの変換
• データのロード
他データベース
データウェアハウスの管理と保守を軽減
複雑なデータ統合タスクやバッチ処理を
自動化し、最新のデータを使った集計や
分析を支援
データクレンジングによる標準化
データクレンジング機能により、各種
データを標準化してデータウェアハウス
に統合
データ ウェアハウスの構築を支援するツールを提供
Office Access、
Office Excel
分散したシステムや
ファイル内のデータを
データウェアハウスに統合
データ ウェアハウス
SQL Server
さまざまな業務、
意思決定に活用
データソースからの簡単なコピー データ統合タスクの開発生産性を向上
SQL Server Data Tools
インポートおよびエクスポート
ウィザード
レガシ システム
SQL Server
Reporting
データ分析や集計 Services
データマート
OLAP キューブ
© 2012 Microsoft Corporation. All rights reserved
59
Integration Servicesの特徴




データソースとの接続性
グラフィカルな処理定義インタフェース
多数のビルトインタスクによる生産性向上
容易な移行とバッチ実行
Excel、
Access
CSV、XML…
パッケージ
RDBMS
Main
Frame
SAP
ERP
タスク
タスク
分析用
データベース
タスク
コンテナ
タスク
タスク
データ フロー タスク
ETL : Extract, Transformation, Loading
© 2012 Microsoft Corporation. All rights reserved
60
データソースとの接続性
 入力側、出力側ともに多数のデータと接続可能
 データベース
 RDBMS
 .Net Provider、OLE DB provider、ODBC接続など
 SQL Server、Oracle、DB2、Teradataなど
 ファイル
 テキストファイル
 固定長テキストファイル、CSV形式ファイル
 Officeファイル
 ERP
 Excelブック、Accessファイル(.mdb)
 SAP
 BizTalk Server のSAP Adapter Packの利用
 メインフレームデータ
 BizTalk Server のBizTalk Adapter for Host Systemsの利用
 DB/DCとの接続
• IMS、CICS
 ファイルアクセス
• メインフレームデータセット(VSAM)
• AS400の物理ファイル
© 2012 Microsoft Corporation. All rights reserved
61
グラフィカルな処理定義インタフェース
 2つのツールが利用可能
インポートおよびエクスポートウィザード
ウィザードを使って、データソースに含まれるデータを
簡単にデータウェアハウスにコピー可能
© 2012 Microsoft Corporation. All rights reserved
SQL Server Data Tools
Visual Studio 2010 と統合されたユーザー インターフェイスと
Integration Services 用のプロジェクトにより、複雑な変換処理を
伴うデータ統合タスクの開発生産性を向上
62
SQL Server Data Tools
 Visual Studio シェル ベースのデザイナ




グラフィカルな処理の実装
ビルトインタスクの利用による生産性の向上
スクリプトによる詳細な処理への対応
ビジュアルなデバック機能
 データフローと制御フローの分離
 制御フローでループや分岐
 データフローで 様々なクレンジングタスクを実行
 詳細なワークフロー定義
© 2012 Microsoft Corporation. All rights reserved
63
制御フロー画面サンプル
© 2012 Microsoft Corporation. All rights reserved
64
データフロー画面サンプル
© 2012 Microsoft Corporation. All rights reserved
65
既存タスク利用による生産性向上
 制御フローのタスク





SQL Server メンテナンスタスク
コンテナタスク
外部プログラム実行タスク
外部リソース接続タスク
Analysis Services機能実行タスク
 データフローのタスク
 変換元/変換先 アダプタ
 変換コンポーネント
© 2012 Microsoft Corporation. All rights reserved
66
制御フロータスク一覧
お気に入り
SQL 実行タスク
データフロータスク
共通
Analysis Services 処理タスク
FTPタスク
Web サービスタスク
XML タスク
スクリプトタスク
データプロファイルタスク
パッケージ実行タスク
ファイルシステムタスク
プロセス実行タスク
メール送信タスク
一括挿入タスク
式のタスク
コンテナー
For ループコンテナー
Foreach ループコンテナー
シーケンスコンテナー
© 2012 Microsoft Corporation. All rights reserved
67
制御フロータスク一覧
その他のタスク
Analysis Services DDL 実行タスク
CDC 制御タスク
Master ストアドプロシージャ転送タス SQL Server エージェントジョブの実
ク
行タスク
SQL Server オブジェクトの転送タス
ク
T-SQL ステートメントの実行タスク
WMI イベント監視タスク
WMI データリーダータスク
インデックスの再構成タスク
インデックスの再構築タスク
エラーメッセージ転送タスク
オペレーターへの通知タスク
ジョブ転送タスク
データマイニングクエリタスク
データベースのバックアップタスク
データベースの圧縮タスク
データベースの整合性確認タスク
データベース転送タスク
メッセージキュータスク
メンテナンスクリーンアップタスク
ログイン転送タスク
履歴クリーンアップタスク
統計の更新タスク
© 2012 Microsoft Corporation. All rights reserved
68
データフロータスク一覧
お気に入り
変換元アシスタント
変換先アシスタント
共通
OLE DB コマンド
スクリプトコンポーネント
データ変換
マージ
マージ結合
マルチキャスト
並べ替え
全体結合
参照
条件分割
派生列
穏やかに変化するディメンション
行数
集計
© 2012 Microsoft Corporation. All rights reserved
69
データフロータスク一覧
その他の変換
CDC スプリッター
DQS クレンジング
あいまいグループ化
あいまい参照
キャッシュの変換
データマイニングクエリ
ピボット
ピボット解除
列インポート
列エクスポート
列コピー
文字マップ
比率サンプリング
用語参照
用語抽出
監査
行サンプリング
その他変換元
ADO .NET 変換元
CDC 変換元
Excel ソース
ODBC入力元
OLE DB ソース
RAW ファイルソース
XML ソース
フラットファイルソース
© 2012 Microsoft Corporation. All rights reserved
70
データフロータスク一覧
その他変換先
ADO .NET 変換先
DataReader 変換先
Excel 変換先
ODBC 変換先
OLE DB 変換先
RAW ファイル変換先
SQL Server Compact 変換先
SQL Server 変換先
ディメンション処理
データマイニングモデルのトレーニン
グ
パーティション処理
フラットファイル変換先
レコードセット変換先
© 2012 Microsoft Corporation. All rights reserved
71
会話型のデバック環境
 SQL Server Data Tools を利用したデバック
 デバックツールの利用が可能
 データビューア
 変数値のスナップショット
 ブレイクポイントの設定
 ステップ実行
など
© 2012 Microsoft Corporation. All rights reserved
72
増分データの読み込み
© 2012 Microsoft Corporation. All rights reserved
73
増分データの読み込み
 データ ウェアハウスのデータ メンテナンスを支援
 変更データ キャプチャ機能 :データベースに加えられた
変更をログから追跡
Change Data Capture
SSIS を使用して、変更され
たデータだけを効率よくデー
タ ウェアハウスに統合可能
変更されたデータ
をログに記録
SQL Server
データソース
© 2012 Microsoft Corporation. All rights reserved
• 統合範囲を最小限に抑
え、データ統合タスクの
パフォーマンスが向上
データ ウェアハウス
74
Data Quality Services
© 2012 Microsoft Corporation. All rights reserved
75
DQS (Data Quality Services)
 データの品質を向上させるツール
 データ クレンジングや名寄せなどの処理サービスを提供
 散在するマスター データから DWH に統合したデータの品質を
改善
 Integration Services の部品として利用可能
DQS でデータを正しく修正
 データを容易に修正できるツー
ルを提供
 名前や文字列の長さなどを
チェックし、正規表現に修正す
るためのルールを定義
 定義したルールをパブリッシュ
して、Integration Services の
タスクとして利用
整合性が欠けた各システムの
取引先マスターの例
社名
A
XXXX 株式会社
1
日本マイクロソフト
○○○株式会社
ここで入力した値へ
修正するようにする
2
B
社名
社名
XXXX 株式会社
XXXX 株式会社
日本マイクロソフト(株)
日本マイクロソフト株式会社
○○○株式会社
○○○株式会社
3
社名
C
DQS クレンジング
タスクでデータのク
レンジングを実行
XXXX 株式会社
マイクロソフト株式会社
○○○株式会社
© 2012 Microsoft Corporation. All rights reserved
データ フローの
変換コンポーネントとして、
DQS クレンジング タスクを利用
データ ウェアハウス
76
リソースの動的配分
© 2012 Microsoft Corporation. All rights reserved
77
リソースの動的配分 (リソース ガバナ)
 大規模データ ウェアハウス環境で見受けられる問題
 膨大なリソースを消費するプロセスによるシステム パフォーマンスの
劣化
 高優先度なプロセスに影響をおよぼす低優先度なプロセス
 複雑化するシステム リソース管理
 リソース ガバナによるソリューション
 個別のワークロードごとにリソース制限と優先順位付けが可能に




ユーザー、アプリケーション、データベースに基づくワークロード定義
リソースを大量消費するタスクの制御が可能
ミッション クリティカルなプロセスを低優先度プロセスから分離できる
定期的に実行される保守タスクからの影響を最小化できる
 リソース ガバナ の制約
 データベースエンジン内部の制御のみが可能
 SQL Server インスタンス間の調整、制御は行わない
 CPU とメモリの管理に制限される
© 2012 Microsoft Corporation. All rights reserved
78
管理
タスク
OLTP
処理
バッチ
処理
非定型
レポート
Backup
タスク
CPU, Memory, Threads …
リソース
管理
タスク
管理系
ワークロード
バッチ
処理
OLTP
処理
非定型
レポート
OLTP
ワークロード
バッチ/リポート
ワークロード
Min Memory 10%
Max Memory 20%
Max CPU 20%
Max CPU 90%
管理用
Pool
アプリケーション用
Pool
リソースプール
Backup
タスク
ワークロード
リソース ガバナ適用イメージ
 ワークロード
 データベースに対して行われる同様の要求をユーザーの観点からまとめたもの




OLTP 処理
バッチ処理
Backup タスク
…
 リソースプール
 SQL Server インスタンスが使用できるリソースを仮想的にまとめたもの
© 2012 Microsoft Corporation. All rights reserved
79
リソースガバナの構成要素
分類(ユーザー定義関数)
SQL Server への新規接続の度に実行され、該当する
ワークロード名を返すスカラ値型関数
関数の格納先は master データベース
判別の為に使用できる関数
HOST_NAME()
APP_NAME()
SUSER_NAME()
SUSER_SNAME()
…
ワークロード
リソースプール
2 つの事前定義されたワークロード
2 つの事前定義されたリソース プール
内部グループ
内部プール
既定のグループ
既定のプール
既定のグループによって使用される
エンジン内部の処理で使用される(e.g. Lazy
Writer, Checkpoint, ...)
該当するワークロードが存在しなかった時に使用
される
重要度
複数のワークロードで1 つのリソース プールを共有
する場合に調整要素として働く
LOW/MEDIUM/HIGH = 1 : 3 : 9 の重みを使っ
て内部的な計算が行われる
MEDIUM が既定
内部グループによって使用される
分類(ユー
ザー定義関
数)
既定のグループ / 既定のプールだけの状態 ≒ SQL
Server 2005
プール数の上限:20 個まで(内部プールと既定の
プールを除くと、実質 18個 まで)
Min/Max CPU % 設定は個々の CPU スケジューラ毎
に適用される
リソース ガ
バナの構成
要素
ワークロード
© 2012 Microsoft Corporation. All rights reserved
リソース
プール
80
リソース ガバナの動作概要
User3
User2
User1
ユーザー定義関数に
よる
ワークロードの判別
管理系
ワークロード
OLTP
ワークロード
バッチ/リポート
ワークロード
Min Memory 10%
Max Memory 20%
Max CPU 20%
Max CPU 90%
管理用 Pool
アプリケーション用 Pool
© 2012 Microsoft Corporation. All rights reserved
81
きめ細かなリソース配分および制御の実現(1)
 ハードウェア リソースの柔軟な制御を実現
 単一のインスタンスに統合した複数のワークロードに対するリソース配分
 より重要なアプリケーション処理や管理タスクにリソースを優先的に配分
 リソースの競合や占有によるパフォーマンスの低下を防止
 配分の設定
 GUI / コマンドのいずれにも対応しているので、状況に応じて最適な方を使用可能
複数のリソース プールを作成して、
物理サーバーのリソース配分を制御
リソース プール A
リソース プール B
CPU 最大 : 20%
メモリ最大 : 40%
CPU 最小 : 20%
CPU 最大 : 80%
メモリ最大 : 60%
メモリや CPU の最小値や最大値を指定して使用量を配分
各リソース プールに割り当てた
ワークロードごとに優先度などを指定
リソースガバナで
効率的にリソースを制御
人事データ
販売管理データ
単一のインスタンスで
複数のワークロードを実行
© 2012 Microsoft Corporation. All rights reserved
リソース プール A
リソース プール B
管理タスク : High
バックアップ : Medium
OLTP 処理 : High
バッチ処理 : Medium
レポート処理 : Low
経理データ
重要度やタイムアウト時間などで優先順位を制御
ビジネス分析データ
82
82
きめ細かなリソース配分および制御の実現(2)
 ワークロードとリソー
スプールの関係
 N:1 の関係
 Low
 Medium(既定)
 High
© 2012 Microsoft Corporation. All rights reserved
管理
タスク
管理系
ワークロード
High
バッチ
処理
OLTP
処理
非定型
レポート
OLTP
ワークロード
ワークロード
 ワークロードに対して
は重要度(優先度)の
設定も可能
Backup
タスク
バッチ/リポート
ワークロード
Min Memory 10%
Max Memory 20%
Max CPU 20%
Max CPU 90%
管理用
Pool
アプリケーション用
Pool
リソースプール
 (複数のワークロードと
1 つのリソースプールを
共有することが可能)
83
83
適用シナリオ
 ワークロードの特性に合わせた動的な配分が可能
リソースの配分例
基幹業務の OLTP 処理を最優先にして、
データ処理を高速化することで、業務効率をアップ
バッチ処理やバックアップにリソースを配分して、
最新データの反映や管理タスクのパフォーマンスを向上
業務時間中
夜間
業務処理や管理タスクを優先して実行
バッチ処理
各ワークロードの違いを自動的に判別
バックアップ
• ホスト名
• アプリケーション名
• ユーザー名
など
レポート作成
管理タスク
バッチ処理やバックアップにリソースを配分
リソース
配分
バックアップ
バッチ処理
リソース
配分
OLTP 処理
特定のワークロードによるリソースの占有、リソースの競合によるパフォーマンスの低下を防ぎ、
より重要なアプリケーションにリソースを優先的に配分することが可能
© 2012 Microsoft Corporation. All rights reserved
84
リソースガバナの適用例
CPU
使
用
率
時間
夜間
リソースが空いている限り
バッチ処理がリソースを使う
© 2012 Microsoft Corporation. All rights reserved
業務中
オンラインとバッチが重なった場合は、
オンライン処理に優先的にリソースを割り当てる
85
目次
 SQL Server で実現する大規模データ ウェアハウス
 データ ウェアハウスのこれまでとこれから
 SQL Server の DWH テクノロジー
 データ ウェアハウス構築の目的
 データ活用の敷居を下げるマイクロソフト BI ソリューション
の構成
 DWH アプライアンス
© 2012 Microsoft Corporation. All rights reserved
86
データ ウェアハウス構築の目的
© 2012 Microsoft Corporation. All rights reserved
87
データ ウェアハウス構築の目的
• 使われる DWH システム構築のために
−
− 意思決定に役立つ分析 (BI) を行いたい
− ユーザーが実際に分析しやすい・使いやすいツールを使える
最終的に人が利活用し、意思決定に役立てることが目的
© 2012 Microsoft Corporation. All rights reserved
88
データ活用の成熟度
BI ツールの利用用途
BI ツール導入済国内企業ユーザー 500 名の調査
定型レポーティング/帳票作成
非定型レポーティング/帳票作成
定型パターンによるデータ分析
独自視点によるデータ分析
データ マイニング/統計分析
経営ダッシュボード
経営パフォーマンス管理
データ マイニングまで実現できている企業は
Source: ITR 調査 (2011 年 9
月)
© 2012 Microsoft Corporation. All rights reserved
2 割程度
BI ツールを利用している、従業員数が 500 名以上
の国内企業の従業員 500 名を対象とした調査
89
現場におけるデータ活用の課題
BI ツールに対する課題
BI ツール導入済国内企業ユーザー 500 名の調査
利用者のスキル不足
使い方の教育が不十分
結局 Excel が必要になる
操作性が悪い
非定型分析で処理時間がかかる
自由分析が簡単にできない
高価なため利用者を増やせない
BI ツールは高くて使い方が悪いという課題に直面
Source: ITR 調査 (2011 年 9
月)
© 2012 Microsoft Corporation. All rights reserved
BI ツールを利用している、従業員数が 500 名以上
の国内企業の従業員 500 名を対象とした調査
90
BI ツールの利用形態
BIツールの利用形態
出典:ITmedia リサーチインタラクティブ/ITR(2009年11月)
BIツールの主な利用者と利用ツール
Excel にデータを直接入力して分析する
35.8%
BIツールを利用して独自の分析を行う
役員、執行役員、本部長
などの経営層
15.1%
企画部門など
ビジネス分析を行う
専門スタッフ
35.6%
各部門の社員スタッフ
21.9%
28.4%
BIツールで抽出したデータをExcel で分析
25.9%
BIツールを利用してダウンロードしたデー
タを Excel で分析
25.3%
BIツールで提供されている定型分析を利用
部長、課長などの
現場のマネジメント
24.7%
22.8%
システム部門にデータ作成を依頼し、入手
したデータを Excel で分析
17.3%
独自開発のツールを利用して分析を行う
16.0%
14.8%
データ分析はほとんど行わない
現場のマネージャーや営業スタッフなど
専門スタッフ以外の利用が増えている
10.5%
ERPに付属する分析機能を利用する
1.9%
その他の方法で分析する
0%
10%
20%
30%
40%
BIツールの利用範囲の広がりとともに、 ユーザーの多くは分析や加工にExcelを利用している
Excelとシームレスに連携するBIツールが利活用を促進する
© 2012 Microsoft Corporation. All rights reserved
91
高い
データ活用の敷居を下げる
ビジネス価値
データ
マイニング
独自視点による
データ分析 (OLAP)
非定型レポーティング
低い
定型レポーティング
容易
© 2012 Microsoft Corporation. All rights reserved
ユーザビリティ
困難
92
Microsoft Business Intelligence ビジョンと戦略
© 2012 Microsoft Corporation. All rights reserved
93
Microsoft Business Intelligence ビジョンと戦略
すべての従業員に対して
意思決定のスピードと質を高めるための
ビジネスの洞察力を提供することで
組織をよりよいものに高めていく



包括的かつ統合された BI とパフォーマンス管理の提供
Microsoft Office を使用した広範なインテリジェンスの展開
企業レベルの低コストなソリューションの提供
© 2012 Microsoft Corporation. All rights reserved
94
Microsoft BI ソリューションの構成
© 2012 Microsoft Corporation. All rights reserved
95
Microsoft BI ソリューションの構成
データ層
プレゼンテーション層
リレーショナル データベース
多次元データベース
Analysis
Services
業務システムの
データベース
ユーザー
レポーティング
SharePoint
Server 2010
Power View
財務
分析サーバー
Integration
Services
生産、在庫、購買
ポータル
サーバー
DB Engine
Services
ETL
Reporting
Services
データ抽出
データ変換
Office Excel
経営者、
役員
PowerPivot
for Excel 2010 ローカル パワー
データ ユーザー
分析用データベース
データ ロード
販売、顧客
Pivot
Table/Graph
レポート
サーバー
エンド
ユーザー
CSV 形式データ
Office、PDF
定型レポート
© 2012 Microsoft Corporation. All rights reserved
96
SQL Server 2012 で強化された BI 機能
•
データ層
UPDATE !
リレーショナル データベース
多次元データベース
Analysis
Services
業務システムの
データベース
• ユーザー インターフェイ
プレゼンテーション層
レポーティング
SharePoint
Server 2010
スの変更(操作性の向上)
Power View
• 新しい変換コンポーネント
(DQS)の追加
財務
分析サーバー
Integration
Services
生産、在庫、購買
ETL
データ抽出
データ変換
ユーザー
ポータル
サーバー
Office Excel
経営者、
役員
DB Engine
Services
• Tabular Model のサポート
(xVelocity)
Reporting
Services
PowerPivot
for Excel 2010 ローカル パワー
データ ユーザー
レポート
サーバー
•Pivot
バージョン2.0へ進化
Table/Graph
分析用データベース
データ ロード
販売、顧客
• データ警告 (Alert/通知) 機能の追加
• Excel エクスポート時のフォーマット
エンド
ユーザー
の変更 (xlsx 形式対応)
CSV 形式データ
Office、PDF
定型レポート
© 2012 Microsoft Corporation. All rights reserved
97
All-In-One パッケージ
RDBエンジンだけでなく全ての BI プラットフォーム機能も SQL Server 1製品に同梱
•動的な自己管理
•プロジェクトとして管理
•.NET 統合
•複数データソースからキューブ構築
•ネィティブ Web サービス
•難解なソーステーブルの隠蔽
•64 CPU 以上 / 2TB 以上 メモリ
•フェイル オーバークラスタ
•AlwaysOn AG / データ ミラーリング
•オンラインインデックス操作
•カラムストア インデックス
•データ圧縮
•データ パーティション
•自動キューブ作成機能
RDB機能
多次元DB
•柔軟なキャッシュ方法
•KPIフレームワーク
Relational
Analysis
Engine
Services
•柔軟なセキュリティ設定
•7つのデータマイニングモデル
•インデックス付ビュー
•並列クエリ
•サービス ブローカー
•制御構造とデータフロー
管理ツール: Management Studio
開発ツール: SQL Server Data Tools
Integration
Reporting
Services
Services
ETL機能
Web帳票
•高度なデバック機能
•強力プロジェクトとして管理
•制御構造とデータフローの分離
•高度なデバック機能
•強力なエラーハンドラ
•Web レポーティング
•Office、PDF レンダリング
•DB 連携、OLAP 連携
•Access レポートインポート
•キューブからのレポート作成
•メール、Webへのスケジュール配信
•実行の監査
•ジョブとしてのスケジュール
© 2012 Microsoft Corporation. All rights reserved
98
目次
 SQL Server で実現する大規模データ ウェアハウス
 データ ウェアハウスのこれまでとこれから
 SQL Server の DWH テクノロジー
 データ ウェアハウス構築の目的
 データ活用の敷居を下げるマイクロソフト BI ソリューション
の構成
 DWH アプライアンス
© 2012 Microsoft Corporation. All rights reserved
99
DWH アプライアンス
© 2012 Microsoft Corporation. All rights reserved
100
DWH アプライアンス
あらゆる規模に対応する 2 つのアプライアンス
データ容量別市場規模
100%
80%
64 TB 以
上
32 TB 以
上
9%
Data Warehouse
8%
38%
60%
Parallel Data
Warehouse
HP Enterprise
Fast Track Data
Warehouse
8 TB 以上
40%
20%
8 TB 未満
44%
22 models from
8 partners
0%
2011 年
出典:テクノシステムリサーチ 2010 年 8 月 国内 RDB/DWH 市場規模 (容量別金額)
© 2012 Microsoft Corporation. All rights reserved
101
マイクロソフトの DWH アプライアンス特性
© 2012 Microsoft Corporation. All rights reserved
102
マイクロソフトの DWH アプライアンス特性
データベース
サーバー
コントロール ノード
─ クエリ プランの作成 ─
共通のリソースで
並列処理
各ノードで
並列処理
ストレージ
スケール アップ
による拡張
データベース ノード
─ 処理の実行 ─
ストレージ
ノード
各ノードの
リソースで
実行
スケール アウト
による拡張
大規模データ ウェアハウス
超大規模データ ウェアハウス
リファレンスアーキテクチャにより
汎用データベースとアプライアンスのメリット
を統合し、
迅速な導入と低価格を実現
超大規模並列処理 (MPP) を採用し、
数百テラバイト級データウェアハウスにも対応
ノード追加によるスケールアウト拡張が可能
アプライアンスのため導入後すぐに利用可能
© 2012 Microsoft Corporation. All rights reserved
103
Fast Track Data Warehouse
© 2012 Microsoft Corporation. All rights reserved
104
大規模 DWH 構成 ~ Fast Track Data Warehouse ~
 データ ウェアハウスの迅速な構築と予測可能な性能を実現する DWH ソリューション
 パッケージ製品とアプライアンス製品の中間的な製品体系
 用途とハードウェア構成を特化することで最適なパフォーマンスを実現
DWH 用途で最大限の性能を発揮できるように
事前にチューニング、および検証したシステム構成
• CPU の構成
• I/O チャネルの構成
• ストレージの設計
• データベースのデータ
構造
など
TCO 削減
・標準的なハードウェアを使用
・オールインワンの SQL Server
・リーズナブルな価格と容易な導入
読み取り操作で最大の性能を発揮する構成を検証
DWH では、データをシーケンシャルに読み取る操作が主体
CPU の処理能力を基準に、I/O チャネル、ストレージの
各コンポーネントのスループットが最大となるバランスに
調整
CPU、IO チャネル、ストレージのバランスが悪い場合、
一番低いコンポーネントのスループットが上限に!!
CPU の処理性能が
上限
迅速な導入
I/O チャネルが上限
・事前検証済みのハードウェア構成で導入
・ベスト プラクティスに基づく構築
・DWH 構築の不確定要素を可能な限り排除
安定したパフォーマンス
・シーケンシャル リードに最適化
・事前検証により、予測可能な性能を提供
・最大 48 TB まで、スケール アップに対応
ストレージのシーケ
ンシャル IO が上限
さらに
• ミラー ドライブでデータの読み込み速度を高速化
• シーケンシャル リードに最適なデータベースの構築の
ガイダンス、最適なメンテナンス方法などの
ベスト プラクティス
検証済みのリファレンス アーキテクチャ
http://www.microsoft.com/japan/sqlserver/2008/r2/prodinfo/fasttrack.mspx
© 2012 Microsoft Corporation. All rights reserved
105
SQL Server Fast Track Data Warehouse (FT)
−
−
事前にチューニングと検証を行った
SMP サーバー ハードウェア、
ストレージ、データベースなどで構成
リファレンス アーキテクチャ
検
CPU や I/O チャネルなどの構成
証
済
み
データベースのデータ構造
要件に合わせたモデルの選択
データベースサイズなどに合わせた
4 TB 未満 ~ 最大 80 TB のモデル
TCO 削減
標準的なハードウェアを使用し
リーズナブルな価格と容易な導入を実現
ストレージの設計、構成
迅速な導入
事前検証済みの標準的なハードウェアを
使用してDWH 用途で最大限の性能を発揮
© 2012 Microsoft Corporation. All rights reserved
106
圧倒的なコストパフォーマンス
低 TCO
迅速な導入
利点
よりよい
パフォーマンス
© 2012 Microsoft Corporation. All rights reserved
最小限の管理
時間
107
Parallel Data Warehouse
© 2012 Microsoft Corporation. All rights reserved
109
SQL Server Parallel Data Warehouse (PDW)
データ ラック
単位で追加により、処
処理能力を
リニアに向上
コントロール ラック
データ ラック
クライアント
コンピュート ノード
ストレージ ノード
 クライアントとの接続
 クエリの処理
 クエリの分析とクエリ プランの作成
 ユーザー データを保持
 クエリのソート、集計などの実行
低コストな標準ハードウェアを使用したアプライアンスとして提供
Parallel Data Warehouse は、並列処理のバランスが調整された事前検証済みのアプライアンス製品として提供
 導入とメンテナンスの手間を軽減し、展開から運用中までのコストを削減
 標準的なハードウェア ベースのアプライアンスにより、ハイパフォーマンスと低コストを同時に実現
 高い拡張性により、データ量が増大してもシステム全体のリプレースが不要、ビジネスの成長に伴う投資を節約可能
© 2012 Microsoft Corporation. All rights reserved
110
PDW 全体像
MPP アーキテクチャ
コンピュート ノード
モニタリング
マネージメントサーバー
ETL ロード インター
フェース
ランディング ゾーン
デュアル インフィニバンド
クライアント
ドライバー
デュアル ファイバー チャネル
コントロール ノード
バックアップ ノード
バックアップ ソリュー
ション
スペア データベース サーバー
コントロール ラック
(1 PDW につき 1 つ)
© 2012 Microsoft Corporation. All rights reserved
データ ラック
( 要件に応じて追加可能 )
111
111
PDW 全体像
MPP アーキテクチャ
コンピュート ノード
モニタリング
マネージメントサーバー
ETL ロード インター
フェース
ランディング ゾーン
デュアル インフィニバンド
クライアント
ドライバー
デュアル ファイバー チャネル
コントロール ノード
バックアップ ノード
バックアップ ソリュー
ション
ユーザデータが格納
コントロール ラック
(1 PDW につき 1 つ)
© 2012 Microsoft Corporation. All rights reserved
データ ラック
( 要件に応じて追加可能 )
112
112
PDW 処理の流れ
~ スキャン ~
コントロール ノード
クライアント
ドライバー
①クエリ発行
⑥クエリ応答
②クエリの解析
各ノード用のクエリ
( 分散クエリ ) 作成
作成した分散クエリを
各コンピュートノード
に転送
⑤最終結果の演算
③各々のノード上で
分散クエリ発行
コンピュート ノード
大
規
模
テ
ー
ブ
ル
を
全
て
の
ス
ト
レ
ー
ジ
に
分
散
配
置
④コンピュートノードの全サーバ (10台)
による並列クエリの実行 (並列度 120 )
© 2012 Microsoft Corporation. All rights reserved
113
113
PDW 全体像
処理の流れ
~ データロード ~
コントロール ノード
② DWLoader により
並列ローディング
ロード用
データ
ランディング ゾーン
①ランディングゾーン
にロードデータ配置
処理性能参考値
1TB/時間 (初期ロード)
© 2012 Microsoft Corporation. All rights reserved
コンピュート ノード
大
規
模
テ
ー
ブ
ル
を
全
て
の
ス
ト
レ
ー
ジ
に
分
散
配
置
DWLoader は SSIS (SQL Server 標準実装の ETLツール)
と連携させる事も可能。検索用のサーバとサーバを分け
ている事により 検索パフォーマンス の影響はわずか
114
114
PDW 全体像
処理の流れ
~ バックアップ ~
コントロール ノード
Corporate
バックアップ
ソリューション
コンピュート ノード
大
規
模
テ
ー
ブ
ル
を
全
て
の
ス
ト
レ
ー
ジ
に
分
散
配
置
バックアップ ノード
バックアップ
容量は要件により
選択可能
処理性能参考値
バックアップは5TB/1hr
リストアは6TB/1Hr
差分バックアップも可能
© 2012 Microsoft Corporation. All rights reserved
115
115
PDW パフォーマンス向上のためのテクノロジー
 DISK IO 量の削減
 データ圧縮テクノロジー (前述)
 CPU パワーの最大限活用
 120 コアを利用したパラレルクエリ
 ノード間データ転送量の削減
 ストレージレイヤによる 行・列のフィルタリング & 集計処理
 ウルトラ シェアード ナッシング結合
© 2012 Microsoft Corporation. All rights reserved
116
120 コアをフルに活用できる パラレル クエリ
このブロックが 120セット構築されている
事前検証でCPU 1コアあたりで
処理できる量を計測
その処理量に見合った IO チャネル /
ストレージ構成でブロックを作成
搭載した CPU ( 120 コア )をフルに活用した
パラレル クエリ を実現
大量の明細データの高速スキャンを実現
© 2012 Microsoft Corporation. All rights reserved
大
規
模
テ
ー
ブ
ル
を
全
て
の
ス
ト
レ
ー
ジ
に
分
散
配
置
データは分散キー
の指定による
自動分散
117
ストレージレイヤによるフィルタリング・集計処理
ストレージレイヤ
( コンピュート ノード)
コントロール ノード
Infini Band
×10セット
① クエリ発行
Select Sum (Sales) ,・・・
Where ・・・
② 各コンピュート
ノードにクエリ発行
③ 必要な列データ・行データのフィルタリング
ネットワーク
転送量を極小化
⑥コンピュートノードから
転送されてきたデータの集計
×10ノード分
⑤集計データ転送
④ノード内で可能な集計の実施
コンピュートノードで
「必要な列データ/行データのフィルタリング」「集計処理」
を行う事により、コントロールノードへのデータ転送を極小化
ネットワーク量を極小化させる事によりパフォーマンスを向上させる
© 2012 Microsoft Corporation. All rights reserved
118
MPP アーキテクチャにおける結合処理の得意・不得意
Web Sales の分散キーは WS_Key
Store Sales の分散キーは SS_Key
ws_ke
y
Red
15
3
Blue
20
5
Yellow
22
7
Green
17
結合キー Color, Color
© 2012 Microsoft Corporation. All rights reserved
ws_ke
y
Color
Red
13
4
Blue
21
6
Yellow
27
8
Green
11
Color
Cost
1
Red
5
3
Blue
10
5
Yellow
12
7
Green
7
Store Sales
Qty
2
Item Dim
Qty
ss_key
Color
Qty
2
Red
3
4
Blue
11
6
Yellow
17
8
Green
1
Store Sales
ss_key
Color
Qty
Red
10
1
Red
5
Green
15
3
Blue
10
5
Yellow
12
7
Green
Item Dim
Color
Blue
Yellow
Cost
7
Store Sales
ss_key
Color
Qty
26
2
Red
3
6
4
Blue
11
6
Yellow
17
8
Green
Node 2
同一結合キーが1ノードに集約されない
⇒ ノード内で結合が不可能
⇒ ノード間でデータ転送が発生
⇒ 上記のパターンよりもパフォーマンスダウン
Web Sales
Color
Node 2
Item Dim の分散キーは color
Store Sales の分散キーは SS_Key
ss_key
Node 1
アーキテクチャ上 不得意な結合処理
分散キー ≒ 結合キー
Qty
1
結合キー WS_KEY , SS_KEY
ノード内に同一結合キーのデータが集約
⇒ ノード内で結合が可能
⇒ 非常に高速
Color
Store Sales
Node 1
アーキテクチャ上 得意な結合処理
分散キー = 結合キー
Web Sales
1
119
PDW におけるパフォーマンス向上手法
レプリカテーブル
片方のテーブルをレプリカテーブルとして定義
Item Dim
Cost
Qty
10
1
Red
5
Green
15
3
Blue
10
Blue
25
5
Yellow
12
5
7
Green
Item Dim
Cost
7
Store Sales
ss_key
Color
Qty
Red
10
2
Red
3
Green
15
4
Blue
11
Blue
25
6
Yellow
17
5
8
Green
Node 2
Color
Yellow
Date Dim
Color
Red
Yellow
PDW のテーブルは全てのノードにデータが
分散される分散テーブルとレプリカテーブル
の2種類存在
Store Sales
ss_key
Node 1
⇒
全てのノードに同じテーブルが格納
各ノードで結合が終了するため非常に高速
( ウルトラ シェアードナッシング結合 )
Color
1
Item Dim
Date Dim ID
Calendar Year
Calendar Qtr
Calendar Mo
Calendar Day
Prod
Prod
Prod
Prod
Dim ID
Category
Sub Cat
Desc
レプリカテーブル
Sales Fact
Date Dim ID
Store Dim ID
Prod Dim ID
Mktg Camp Id
Qty Sold
Dollars Sold
分散テーブル
Promo Dim
Store Dim
Store
Store
Store
Store
Mktg Camp ID
Camp Name
Camp Mgr
Camp Start
Camp End
Dim ID
Name
Mgr
Size
© 2012 Microsoft Corporation. All rights reserved
スタースキーマ構成においては
ファクトテーブルは分散テーブル
ディメンジョンテーブルはレプリカテーブル
と定義するのがベストプラクティス
120
可用性 ~ 冗長化されたシステム ~
 コンピュートノード
 コンピュートノードの障害時には
スペアノードが処理を引き継実行
コンピュート ノード
 ミラーリング
 ホットスペアを装備
ディスク障害へ対応します
 2重化
 ネットワーク
 ファン
 電源
コントロール ノード
デュアル・インフィニバンド
 ディスク
ノード障害発生時
にはスペアノードが
処理を継続
X
データノードスペア
© 2012 Microsoft Corporation. All rights reserved
121
PDW への接続
 接続インターフェース
 ODBC / OLE-DB / ADO.NET / JDBC
 SQL Server BI コンポーネント
 Integration Services
 Reporting Services
 Analysis Services
 PowerPivot for Excel
Power Pivot for Excel
「データ ソースへの接続」画面
© 2012 Microsoft Corporation. All rights reserved
122
管理ツール
PDW 専用の管理ツールを提供
Web ベース
分散クエリの処理内容
© 2012 Microsoft Corporation. All rights reserved
CPU 使用率概略
123
123
拡張性と構成の選択肢
スケールアウト
デュアル
インフィニバンド
コントロール ラック
データ ラック
論理データ容量
選択可能な
DISK
300
GB
300
GB
1 TB
15k
rpm
10k
rpm
7.2k
rpm
(圧縮率は2.5で計算した論理容量)
1 データ
ラック
2 データ
ラック
3 データ
ラック
4 データ
ラック
38 TB
76 TB
114 TB
152 TB
76 TB
152 TB
228 TB
304 TB
127 TB
254 TB
304 TB
508 TB
要件に合わせた DISK とデータラックの数を選択可能
© 2012 Microsoft Corporation. All rights reserved
124
パフォーマンス データ
既存システム
Fast Track
比較
結果 1 平均 3 分程度
平均 15 秒程度
約 12 倍
結果 2 平均 1 時間弱
平均 8 分程度
約7倍
PDW
比較
結果 3 10 分程度
1 分以下
約 10 倍
結果 4 1 時間強
15 秒強
約 240 倍
結果 5 2 分程度
2 秒程度
約 60 倍
結果 6 20 分程度
4 秒程度
約 300 倍
既存システム
データの移行工数を差し引いても
コスト、パフォーマンス共にメリットが出る
© 2012 Microsoft Corporation. All rights reserved
125
パフォーマンス データ
既存システム
Fast Track
比較
結果 1 平均 3 分程度
平均 15 秒程度
約 12 倍
結果 2 平均 1 時間弱
平均 8 分程度
約7倍
PDW
比較
結果 3 10 分程度
1 分以下
約 10 倍
結果 4 1 時間強
15 秒強
約 240 倍
結果 5 2 分程度
2 秒程度
約 60 倍
結果 6 20 分程度
4 秒程度
約 300 倍
既存システム
データの移行工数を差し引いても
コスト、パフォーマンス共にメリットが出る
© 2012 Microsoft Corporation. All rights reserved
126
2 種の DWH アプライアンスの棲み分けと共存シナリオ
• 棲み分け
最大容量
FT スキャン基礎値
(MB/秒) (*
4 TB 未満
800
4 TB
800~1,600
8 TB
800~1,600
16 TB
1,600
20 TB
2,400~4,800
32 TB
6,400
40 TB
6,400~9,600
80 TB
12,800
(*
•
•
•
•
大規模データ ウェアハウス用途
汎用的なハードウェアを使用した
リファレンスアーキテクチャ
圧倒的なコストパフォーマンス
最大 80 TB、12,800 MB/秒
•
•
•
•
•
•
•
超大規模データ ウェアハウス用途
MPP アーキテクチャ
業界標準のハードウェアを使用した
アプライアンス
圧倒的なパフォーマンス
高い拡張性 (スケールアウト)
数十 TB ~ 数百 TB
24 GB/秒 以上のパフォーマンス
• 共存シナリオ
• ハブ & スポーク構成 (次項)
© 2012 Microsoft Corporation. All rights reserved
127
PDW と Fast Track の共存 (ハブ & スポーク)
ハブ:データ管理の集中化などを利用可能に
スポーク:ビジネスの変化に伴うシステムの
変更を局所化
ビジネスニーズに対する素早い対応
現実的な予算に合わせる
スポーク
スポーク
(拠点単位での活用)
スポーク
(部門単位での活用)
スポーク
(グループ企業群での活用)
高速なデータの配布
(パラレル データコピー)
ハブ
(統合 DWH の中央)
© 2012 Microsoft Corporation. All rights reserved
SQL Server 付属 ETL ツール
(Integration Services)
128
参考:OLTP アプライアンス
© 2012 Microsoft Corporation. All rights reserved
129
参考:Premium OLTP Appliance
 HP社 DL980 (80コア) とメモリアレイ (15TB) を採用したミッションクリティカル
ハイパフォーマンスモデル
 ハイパフォーマンスな OLTP 処理をターゲットにしたモデルだが、OLTP / DWH /
混在システム / サーバ統合など適用範囲が広い
 HA も考慮した構成
 SQL Server でパフォーマンスが出る設定を検証済み
 データ圧縮、TempDBの設定、 Hyper-Thread、有効なパラメータ、、、
SQL Server の NUMA 対応機能を利用することで
8CPU (80コア) を有効に使うことができ、
リニアにパフォーマンスが向上
80 コア
8 CPU
パフォーマンスは
リニアに向上
個々のCPU
の使用率は
75%でほぼ一定
(オーバヘッドなし)
15TB Flash
Memory
Array
800,000 IOPs
4CPU vs. 8CPU パフォーマンス比較
© 2012 Microsoft Corporation. All rights reserved
130
参考:Premium OLTP Appliance のエントリーモデル
・DL980 + メモリアレイ 5TB のセット ( 10TBモデルもあり )
・全てのRDBMS ワークロード (OLTP / 1ケタTB のDWH (圧縮で8TB程度までO.K.)
/ 混在システム / サーバ統合) を低コストで別次元のパフォーマンスをご提供
http://h50146.www5.hp.com/products/servers/options/vma/campaign/
© 2012 Microsoft Corporation. All rights reserved
131
まとめ
SQL Server は、データ量の増加と処理時間の短縮
を実現するための種々機能を搭載し、
最適なデータ ウェアハウスを利用可能
マイクロソフト製品群ですべての社員が実ビジネス
シーンで利活用できる環境を構築可能
データ ウェアハウス
をビジネスに活かす
リアル
ソリューションを提供
© 2012 Microsoft Corporation. All rights reserved
133







本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対
応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証
できません。
本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありま
せん。
すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、
転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その
他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。
Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。
Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他
の知的財産へのライセンスを与えるものではありません。
© 2012 Microsoft Corporation. All rights reserved.
Microsoft, Windows, SQL Server は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、一般に各社の商標です。
© 2012 Microsoft Corporation. All rights reserved
134
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or
other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to
changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date
of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2012 Microsoft Corporation. All rights reserved
135