Download - Microsoft Azure - SQL Data Warehouse
SQL Data Warehouse
井上 大輔日本マイクロソフト
本セッションでお伝えする内容は 7/21 時点の情報です。内容は予告なく変更される可能性があります。
最新情報は Azure の Web サイトをご覧ください。
https://azure.microsoft.com/ja-jp/
分析ソリューションと SQL Data Warehouse
開発・導入にあたってのポイントと制限
アジェンダ
分析ソリューションと SQL Data Warehouse
開発・導入にあたってのポイントと制限
アジェンダ
Microsoft の分析ソリューションの位置づけ
Traditional BI Deployed ML
過去データを可視化 過去から将来を予測セルフサービス BI
( Power BI / Excel )
マシンラーニング( Azure ML )Proj
ect Passau
定型レポート( SQL Server
Reporting Service )
データマイニング( SQL Server
Analysis Services )
決められたフォーマットで現状把握。
様々な角度から分析を行い人が規則性を発見する。
過去データから分析アルゴリズムを使って未知であっ
た規則性を発見する。
過去データから学習をさせて予測モデルを作成する。
SQL Server Engine / SQL Data Warehouse
Azure SQL Data Warehouse の特徴
6
エラスティックな スケーラビリ
ティ
最高クラスの性能 / 価格優位性
コンピュートのスケール up/down が数秒
一時停止 (Pause) 機能
ペタバイト スケールの ストレージ
占有ハードウェアではなく、必要とするものへの支払い
オンデマンドの価格設定
ストレージとは切り離されたコンピュート資源への支払い
MPP Massive
scale-outScale-out Relational
Data warehouse
SQL Server と 同等の使い勝
手 Azure データサービス
群との統合 (ADF, HDInsight, ML…)
SQL Server の広大なパートナー エコシステム
SQL Server の互換性
書き換えなしでの移行
Full managed の Data Warehouse-as-a-service
SQL Server の並列化アプローチ
VS
SMP(Shared Memory Parallel) MPP(Massively Parallel Processing)
SQL Data Warehouse は MPP を採用
SQL Data Warehouse のアーキテクチャ
FW
Control Node
Compute Node
User
・・・・
・・・
SQL Server の PDW(Parallel Data Warehouse ) のテクノロジを組み込んだ分散データベース
AzureBlob Storage
Queryクエリ プラン作成アグリゲーション
並列でクエリを実行
・・・・
Compute Node
分散テーブル
ColumnA ColumnBユーザー
A10
ユーザー B
100
ユーザー C
1000
ユーザー D
10000
テーブルの行は異なる Node にハッシュ分割
ハッシュ関数
分散テーブル
CREATE TABLE [Products](….)WITH( DISTRIBUTION = HASH(<COLUMN>));
ハッシュ分散 CREATE TABLE [Products](….)WITH( DISTRIBUTION = ROUND_ROBIN);
ラウンド ロビン
ラウンドロビンとハッシュ分散
各 Compute Node が参照できるデータは Local の Storage のみ
Compute & Storage の関係
西日本
Compute と Storage は分離堅牢な Azure Blob Storage がベース
データ、ログを3重化
東日本
柔軟なスケールCompute と Storage を分離してニーズに応じたリソースを
確保
自動バックアップ 8時間毎に自動スナップショット 7日間データを保持
冗長性 Azure Storage (RA-GRS) がベースで地理的に離れたリージョンで多重化
リストア バックアップから任意のポイントにリストア 削除済みデータベースのリストア
ビジネスの継続性Built-in で Azure Storage に自動バックアップ
性能数秒で拡大、縮小、および一時停止できる
スキャンとロードの相対的な性能を表す数値200 DWU は 100 DWU の 2 倍の性能200 DWU は 100 DWU の 2 倍のコスト
オンデマンドで変更可能、しかも数秒
Data Warehouse Unit (DWU)
DWU Scan Rate Load Rate Cost100 1M Rows/sec 15K Rows/Sec ¥71.40/ 時間 (~¥53,142/月 ) 200 2M Rows/sec 30K Rows/Sec 2x300 3M Rows/sec 45K Rows/sec 3x
100 DWU = 297 sec
400 DWU = 74 sec
800 DWU = 37 sec
1,600 DWU
= 19 sec
10 億行のスキャン検証結果
性能と Compute の料金
※ 2015/07/13 時点のプレビュー料金 ※ DWU は最大 2000
クエリの性能に対して課金
Storage 料金
ストレージ容量 月額最初の 1 TB/月 ¥12.24 (GB あたり )
次 49 TB (1 ~ 50 TB) /月 ¥10.20 (GB あたり )
次 450 TB (50 ~ 500 TB) /月 ¥9.18 (GB あたり )
次 500 TB (500 ~ 1,000 TB) /月
¥8.16 (GB あたり )
次 4,000 TB (1,000 ~ 5,000 TB) /月
¥7.65 (GB あたり )
5,000 TB 超 /月 サポートニお問い合わせ
Compute とは別に RA-GRS (ページ BLOB )の費用が発生
停止・再開データは残したまま Compute を停止・再開することでコストを削
減
$$$$
SQL Data Warehouse の特長
SQL Data Warehouse
AWS Redshift
価格 分離( compute と storageを個別に調整)
ノード単位( compute/storage )
弾力性 数秒間でリソースを増減 リソース増減には数時間から数日停止 /再開 あり なしハイブリッド Azure 、オンプレミス AWS のみ互換性 True SQL support 未サポート( indexes, SQL
UDFs, stored procedures, constraints )
分析ソリューションと SQL Data Warehouse
開発・導入にあたってのポイントと制限
アジェンダ
SQL Server 認証のみサポート ユーザー名とパスワード
アクセスは暗号化 接続文字列の暗号化オプションを利用
ファイアウォール ホワイトリストを定義
認証ファイアウォールと暗号化を使用して DB への接続を制限
接続可能なプロトコル ADO.NET ODBC PHP JDBC
接続SQL Server と同様に TDS ( 1433 ポート)で接続
サポートツール• Azure Portal• SQL Server Data Tools (SSDT)• Sqlcmd• SQL Server Management
Studio は未サポート(一部利用可能)
カラムストア ユーザー定義関数、ストアドプロシージャのサポート テーブル パーティショニング 照合順序など
SQL Server と高い互換性DWH として必要とされる機能をサポート
Column Store Index
日付 購入番号 区分 価格
20111001 11-AAA-11 200 1000
20111001 11-AAA-12 100 2000
20111002 12-BBB-21 300 1800
20111003 12-BBB-22 300 6000
20111003 13-CCC-31 200 4500
20111001
20111001
20111002
20111003
20111003
11-AAA-11
11-AAA-12
12-BBB-21
12-BBB-22
13-CCC-31
200
100
300
300
200
※エスキューエル・クオリティ社の検証結果カラム ストア インデックスのパフォーマンスを 100 とした場合のパ フォーマンスを相対で比較
Column Store Index では列単位にまとめてページに格納することで参照時の不要な I/O を削減
いままでは ...
DISTINCT GROUP BY
フル テーブル スキャン
非クラスター化インデックスカラム ストア インデックス
12,000
10,000
8,000
6,000
4,000
2,000
0
102 倍
10,244
5,970
100
4,693
2,496
100
1 億 2000 万件で約 100 倍の性能向
上
59 倍 47 倍
25 倍
Columnar Database によるパフォーマンスの向上
テーブルを複数のパーティションに分割し I/O を分散 テーブルをある列値の範囲で分割 アプリケーションから透過的(改修不要) 年次・月次集計などのパフォーマンスが向上
パーティション単位での処理が可能 インデックスの作成・保守 バックアップとリストア
データのサブセットを迅速かつ効率的に移動可能 新しいデータの追加、古いデータの削除を
定期的に行う場合に有効
データ パーティション - Data Partition
2013年受注
2012年受注
2011年受注
Disk1
Disk2
Disk3
売上明細テーブル ファイルグループ
2013/05 …
2011/01 …
2013/04 …
2012/11 …
パーティション 2013
パーティション 2012
パーティション 2011
FileGroup1
FileGroup2
FileGroup3
性能と拡張
24
SQL Server 非互換機能
primary keys foreign keys check constraints unique constraints unique indexes computed columns sparse columns user-defined types
indexed views identities sequences triggers synonyms SSIS 、 SSAS 、 SSRS
現時点でいくつかの機能はサポートしていない。
ストアドプロシージャの制限 temporary stored procedures numbered stored procedures extended stored procedures CLR stored procedures encryption option replication option table-valued parameters read-only parameters
default parameters execution contexts return statement
サポートされないデータ型
同時実行
DWU Max Concurrent Queries
Max Concurrency Slots( CPUメモリなどのリソースセット)
DW100 32 4
DW200 32 8
DW300 32 12
DW400 32 16
DW500 32 20
DW600 32 24
DW1000 32 40
DW1200 32 48
DW1500 32 60
DW2000 32 80
最大同時実行クエリは 32 だが指定した DWU によって性能が異なる
Transaction Isolation Level READ UNCOMMITTED のみ(変更不可)
最も分離性が低い分離レベル。ダーティ・リード,ファジー・リード,ファントム・リードすべてを許容。
スライディング ウインドウ(パーティションの切り離し)と Create Table As Select (CTAS) を組み合わせることで一貫性を保持
未サポート 分散トランザクション セーブポイント 入れ子構造のトランザクション
トランザクション
リソースクラスとはユーザーに割り当てられるデータベースのロール下表のように利用できるメモリの量が異なる
同時実行ワークロードを管理するための 4 つのリソースクラス
同時実行リソースクラスによって割り当てられるスロットが異なる
同時実行8 つのワークロードグループが存在
例: DW500 を選択した場合
同時実行リソースクラスはダイナミックに
ワークロードグループにマップされる
Azure Data Factory (ADF) copy SQL Server Integration Services Bcp Azure Import and Export Service AZCopy
データ移行様々なツールをサポート
Polybase Haddop や Blob Storage に T-SQL による非構造化データへのクエ
リ
T-SQL query
CapabilityHadoop や Blob Storage に T-SQL による非構造化データへのクエリ
Benefits Big Data の有効活用 BIツールの活用 ETL をシンプルにして素早い洞察
SQL Data
Warehouse
Hadoop
Quote:
************************
**********************
*********************
**********************
***********************
$658.39
Jim Gray
Name
11/13/58
DOB
WA
State
Ann Smith
04/29/76
ME※ UTF-8 のみサポート
Sample TSQL – Data Source
-- Create a data sourceCREATE EXTERNAL DATA SOURCE [WebLogSource]WITH( TYPE = HADOOP, LOCATION = 'wasbs://[email protected]/', CREDENTIAL = ProdCreds );
統合
App ServiceAzure SQL Database
Azure Machine Learning
Intelligent App
Hadoop
Azure SQL DataWarehouse
Power BI
Power BI や Machine Learning 、 Data Factory 等と容易に連携
Azure SQL Data Warehouse
Scale-out relational data warehouse
MPP mass
ive scale-
out
Power BI, ADF, Machine Learning などと連携
storage と compute 分離
Elastic scale
http://azure.microsoft.com/ja-jp/documentation/services/sql-data-warehouse/
© 2015 Microsoft Corporation. All rights reserved.