Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
The Microsoft Conference 2014
ROOM C
2
既存社内システムの問題点と対策
3
マイクロソフトのソリューションとその効果
高速 DWH の構築
SQL Server 2014更新可能な列ストアインデックス
エリアマネージャー自身による自由なデータ分析
Power BI
クラウド
簡単な販売予測
Power BI for
Office 365
来店頻度の高い顧客の創出と客単価の向上
Azure Machine Learning
改善のための要件: エリアマネージャー村松健の場合
神奈川県の 5 店舗を管理するエリアマネージャー
課題 来店者数の回復
売上向上 (客単価向上)
改善方法 店舗ごとの顧客属性分析
商品ごとの販売予測
来店者数の把握と予測
来店頻度の高い顧客の創造
客単価の向上
他店舗成功例をもとにした棚割り改善提案
4
課題 商品の改廃
機会損失の防止
新たに売れ筋となる商品の把握
購買部門の発注担当者
改善方法 商品ごとのリアルタイム売上分析
売れ筋商品の把握と在庫管理(予測発注)
ソーシャルメディアを活用した新たな売れ筋商品の把握
改善のための要件: 発注担当者 (バイヤー) 岡村圭子の場合
マイクロソフトのソリューションとその効果
売れ筋商品の把握と在庫管理
SQL Server 2014更新可能な列ストアインデックス
リアルタイム売上分析
クラウド発注担当者自身による自由なデータ分析
Power BI
新たな売れ筋商品の把握ソーシャルメディア
Dynamics CRM
Dynamics Marketing 店舗の状況や反応などの情報を現場間で共有
Yammer
アジェンダ
高速 DWH の構築- 更新可能な列ストアインデックスとは -
Microsoft Azure で DWH 構築
Microsoft Azure とオンプレ環境のデータ連携
The Microsoft Conference 2014
高速 DWH の構築 -更新可能な列ストアインデックスとは -
日付 購入番号 区分 価格
20141001 11-AAA-11 200 1000
20141001 11-AAA-12 100 2000
20141002 12-BBB-21 300 1800
20141003 12-BBB-22 300 6000
20141003 13-CCC-31 200 4500
日付
20141001
20141001
20141002
20141003
20141003
購入番号
11-AAA-11
11-AAA-12
12-BBB-21
12-BBB-22
13-CCC-31
区分
200
100
300
300
200
価格
1000
2000
1800
6000
4500
ユーザー操作は従来の行指向のテーブルと全く同様
正しくは、クラスター化列ストアインデックス(CCSI)インデックスと名前はついているが・・・テーブルの構造そのものが違う
クラスター化列ストアインデックスのメリット
C1 C2 C3 C5 C6C4
1.8GB
ページ圧縮テーブル&インデックス
10.9GB
テーブル&インデックス
19.7GB
列単位で格納されるため高圧縮を実現
ディスク I/O、DB 容量、メモリ使用量まで削減
クエリに必要な列のみを読み込むことが可能
データウェアハウスのワークロードに最適例) select C1,sum(C2) from table
group by C1;
クラスター化列ストアインデックスの仕組み
列ストアDeleted
Bitmap
デルタストア
パーティションデルタストア領域により更新も可能一括挿入操作:直接列ストアに格納INSERT: デルタストアに格納DELETE: 論理的に削除(マークするのみ)
※再構築時に物理的に削除
UPDATE: DELETE + INSERT
デルタストアはバックグラウンドプロセスにより自動的に列ストアに変換
作成は非常に簡単インデックスチューニング不要
The Microsoft Conference 2014
DEMO・クラスター化列ストアインデックスの作成
・列ストアインデックスの実力
クラスター化列ストアインデックスの実力
63%
14%
0%
20%
40%
60%
80%
100%
120%
ページ圧縮 CCSI
圧縮なしを100とした時の
実行時間比
超高速な検索を実現TPC-H スキーマを使用
Microsoft Azure 上のデータウェアハウス用に最適化された SQL Server イメージを利用
A7 構成(8 コア、56GB メモリ)
22パターンのクエリを実行
クラスター化列ストアインデックスの実力
0%
20%
40%
60%
80%
100%
120%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
圧縮なしを100とした時の実行時間比
ページ圧縮 CCSI
クエリ別比較
クラスター化列ストアインデックスの制約
ntext text image xml sql_variant
varchar(max) nvarchar(max) rowversion (and timestamp)
CLR types (hierarchyid and spatial types)
OLTP 向けデータベースへの適用は、十分な検証を
テーブルに作成できる唯一のインデックス一意制約、主キー制約、外部キー制約を含めることは出来ない
使用不可の制限1,024 以上の列を保持するテーブル計算列、スパース列を含むテーブルビュー、およびインデックス付きビュー下記のデータ型を使用する列を含むテーブル
クラスター化列ストアインデックスの制約
作成時の自動チェック機能
The Microsoft Conference 2014
Microsoft Azure で DWH を構築
仮想マシンのギャラリーからデータウェアハウス用に最適化されたSQL Server イメージを利用可能
データウェアハウスのワークロード用に SQL Server を最適化する方法について十分な知識がなくても容易に構築可能
最適化された SQL Server データウェアハウス
スタートアップ パラメーター
-E:ファイル グループ内の各ファイルに割り当てられるエクステント数を増やすスキャン操作の多いデータ ウェアハウス ワークロードに有効
-T1117:ファイル グループ内のすべてのファイルが均等に増大するようにする-T1118:混合エクステントではなく単一エクステントを使用するようにする
Tempdb 構成
コア数に合わせて Tempdb のデータ ファイルを作成例:A7の場合、8 個のデータ ファイル
ストレージ構成
選択した VM サイズに合わせて、自動的に最適化例:A7 (8 コア、56GB メモリ)の場合DWSqlLog(E:) : ログ ファイル用ドライブ:3本(3TB)DWSqlData(F:) : データ ファイル用ドライブ:12 本(12TB)
The Microsoft Conference 2014
DEMOMicrosoft Azure で DWH を構築
The Microsoft Conference 2014
Microsoft Azure とオンプレのデータ連携
SQL Server は ETL を搭載SQL Server Integration Services (SSIS)
差分データ抽出機能により効率的なデータ連携変更データキャプチャ(Change Data Capture: CDC)
SQL Server Integration Services とは
メインフレーム
BizTalk Server との連携
フラットファイル
Integration Services
あらゆるデータソースと接続データの抽出・洗浄・変換・加工・転送他社 RDBMS とのデータ連携も可能
Integration Servicesのパッケージ開発
グラフィカルな処理の実装
ビルトインタスクの利用による生産性の向上
データフローと制御フローの分離
・制御フローで処理手順を定義・データフローでデータの加工手順を定義
変更データキャプチャとは(Change Data Capture: CDC)
データソース データ ウェアハウス
変更データ キャプチャ
変更されたデータをログに記録
変更されたデータだけを効率よくデータウェアハウスに統合
差分データのみ統合
• Integration Services のタスクを使用し、データウェアハウスを更新
• MERGE ステートメントにより 1 つの Transact-
SQL ステートメントで挿入、更新、削除操作を実行
データウェアハウスのデータメンテナンスを支援データベースに加えられた変更をログから追跡Integration Services の変更データキャプチャ用タスクを実装
変更データキャプチャの設定とデータ抽出
変更テーブル
operation 列で操作の種類を確認1 - delete、2 - insert、3 - update (変更前データ)、4 - update (変更後データ)
ストアドプロシージャによる 2 ステップデータベースでの変更データキャプチャの有効化テーブルでの変更データキャプチャの有効化
変更データへのアクセスcdc.fn_cdc_get_all_changes_<capture_instance> 関数、sys.fn_cdc_map_time_to_lsn 関数等、予め用意されている Table-Valued Functions (TVF) を利用
Oracle CDC Service for SQL Server 2014
Oracle データベースとデータ連携が可能な機能を提供REDO ログから指定したテーブルの変更ストリームをキャプチャSQL Server 内の DB に指定したテーブル毎の差分レコードを記録Oracle データベース内にエージェントや特別な定義は不要
インストールメディアの ¥Tools¥AttunityCDCOracleフォルダに用意されている下記のファイルを使用してインストール
・AttunityOracleCdcDesigner.msi
・AttunityOracleCdcService.msi
※ダウンロードセンターからダウンロードも可能
Microsoft® SQL Server® 2014 Feature Pack
http://www.microsoft.com/ja-jp/download/details.aspx?id=42295
Integration Services 変更データキャプチャ用タスクの使用
ノンコーディングで変更データキャプチャ機能により抽出したレコードをテーブルに反映可能
・制御フロー用コンポーネント「CDC制御タスク」・データフロー用コンポーネント「CDC変換元」「CDCスプリッター」
The Microsoft Conference 2014
DEMOIntegration Services によるデータ連携
Wrap Up
列ストアインデックスは強力
Azure 上での DWH 構築は容易
オンプレとのデータ連携も容易SQL Server 自習書シリーズ http://www.microsoft.com/ja-jp/sqlserver/2012/technology/self-learning.aspx
・Integration Services 入門
・Integration Services 応用
ぜひお試しください
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows 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.