39
SQL Data Warehouse 井井 井井 井井井井井井井井井

Microsoft Azure - SQL Data Warehouse

Embed Size (px)

Citation preview

Page 1: Microsoft Azure - SQL Data Warehouse

SQL Data Warehouse

井上 大輔日本マイクロソフト

Page 2: Microsoft Azure - SQL Data Warehouse

本セッションでお伝えする内容は 7/21 時点の情報です。内容は予告なく変更される可能性があります。

最新情報は Azure の Web サイトをご覧ください。

https://azure.microsoft.com/ja-jp/

Page 3: Microsoft Azure - SQL Data Warehouse

分析ソリューションと SQL Data Warehouse

開発・導入にあたってのポイントと制限

アジェンダ

Page 4: Microsoft Azure - SQL Data Warehouse

分析ソリューションと SQL Data Warehouse

開発・導入にあたってのポイントと制限

アジェンダ

Page 5: Microsoft Azure - 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

Page 6: Microsoft Azure - 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

Page 7: Microsoft Azure - SQL Data Warehouse

SQL Server の並列化アプローチ

VS

SMP(Shared Memory Parallel) MPP(Massively Parallel Processing)

SQL Data Warehouse は MPP を採用

Page 8: Microsoft Azure - SQL Data Warehouse

SQL Data Warehouse のアーキテクチャ

FW

Control Node

Compute Node

User

・・・・

・・・

SQL Server の PDW(Parallel Data Warehouse ) のテクノロジを組み込んだ分散データベース

AzureBlob Storage

Queryクエリ プラン作成アグリゲーション

並列でクエリを実行

・・・・

Page 9: Microsoft Azure - SQL Data Warehouse

Compute Node

分散テーブル

ColumnA ColumnBユーザー

A10

ユーザー B

100

ユーザー C

1000

ユーザー D

10000

テーブルの行は異なる Node にハッシュ分割

ハッシュ関数

Page 10: Microsoft Azure - SQL Data Warehouse

分散テーブル

CREATE TABLE [Products](….)WITH( DISTRIBUTION = HASH(<COLUMN>));

ハッシュ分散 CREATE TABLE [Products](….)WITH( DISTRIBUTION = ROUND_ROBIN);

ラウンド ロビン

ラウンドロビンとハッシュ分散

各 Compute Node が参照できるデータは Local の Storage のみ

Page 11: Microsoft Azure - SQL Data Warehouse

Compute & Storage の関係

西日本

Compute と Storage は分離堅牢な Azure Blob Storage がベース

データ、ログを3重化

東日本

Page 12: Microsoft Azure - SQL Data Warehouse

柔軟なスケールCompute と Storage を分離してニーズに応じたリソースを

確保

Page 13: Microsoft Azure - SQL Data Warehouse

自動バックアップ 8時間毎に自動スナップショット 7日間データを保持

冗長性 Azure Storage (RA-GRS) がベースで地理的に離れたリージョンで多重化

リストア バックアップから任意のポイントにリストア 削除済みデータベースのリストア

ビジネスの継続性Built-in で Azure Storage に自動バックアップ

Page 14: Microsoft Azure - SQL Data Warehouse

性能数秒で拡大、縮小、および一時停止できる

Page 15: Microsoft Azure - SQL Data Warehouse

スキャンとロードの相対的な性能を表す数値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

クエリの性能に対して課金

Page 16: Microsoft Azure - SQL Data Warehouse

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 )の費用が発生

Page 17: Microsoft Azure - SQL Data Warehouse

停止・再開データは残したまま Compute を停止・再開することでコストを削

$$$$

Page 18: Microsoft Azure - SQL Data Warehouse

SQL Data Warehouse の特長

SQL Data Warehouse

AWS Redshift

価格 分離( compute と storageを個別に調整)

ノード単位( compute/storage )

弾力性 数秒間でリソースを増減 リソース増減には数時間から数日停止 /再開 あり なしハイブリッド Azure 、オンプレミス AWS のみ互換性 True SQL support 未サポート( indexes, SQL

UDFs, stored procedures, constraints )

Page 19: Microsoft Azure - SQL Data Warehouse

分析ソリューションと SQL Data Warehouse

開発・導入にあたってのポイントと制限

アジェンダ

Page 20: Microsoft Azure - SQL Data Warehouse

SQL Server 認証のみサポート ユーザー名とパスワード

アクセスは暗号化 接続文字列の暗号化オプションを利用

ファイアウォール ホワイトリストを定義

認証ファイアウォールと暗号化を使用して DB への接続を制限

Page 21: Microsoft Azure - SQL Data Warehouse

接続可能なプロトコル ADO.NET ODBC PHP JDBC

接続SQL Server と同様に TDS ( 1433 ポート)で接続

サポートツール• Azure Portal• SQL Server Data Tools (SSDT)• Sqlcmd• SQL Server Management

Studio は未サポート(一部利用可能)

Page 22: Microsoft Azure - SQL Data Warehouse

カラムストア ユーザー定義関数、ストアドプロシージャのサポート テーブル パーティショニング 照合順序など

SQL Server と高い互換性DWH として必要とされる機能をサポート

Page 23: Microsoft Azure - SQL Data Warehouse

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 によるパフォーマンスの向上

Page 24: Microsoft Azure - SQL Data Warehouse

テーブルを複数のパーティションに分割し 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

Page 25: Microsoft Azure - SQL Data Warehouse

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

現時点でいくつかの機能はサポートしていない。

Page 26: Microsoft Azure - SQL Data Warehouse

ストアドプロシージャの制限 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

Page 27: Microsoft Azure - SQL Data Warehouse

サポートされないデータ型

Page 28: Microsoft Azure - SQL Data Warehouse

同時実行

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 によって性能が異なる

Page 29: Microsoft Azure - SQL Data Warehouse

Transaction Isolation Level READ UNCOMMITTED のみ(変更不可)

最も分離性が低い分離レベル。ダーティ・リード,ファジー・リード,ファントム・リードすべてを許容。

スライディング ウインドウ(パーティションの切り離し)と Create Table As Select (CTAS) を組み合わせることで一貫性を保持

未サポート 分散トランザクション セーブポイント 入れ子構造のトランザクション

トランザクション

Page 30: Microsoft Azure - SQL Data Warehouse

リソースクラスとはユーザーに割り当てられるデータベースのロール下表のように利用できるメモリの量が異なる

同時実行ワークロードを管理するための 4 つのリソースクラス

Page 31: Microsoft Azure - SQL Data Warehouse

同時実行リソースクラスによって割り当てられるスロットが異なる

Page 32: Microsoft Azure - SQL Data Warehouse

同時実行8 つのワークロードグループが存在

Page 33: Microsoft Azure - SQL Data Warehouse

例: DW500 を選択した場合

同時実行リソースクラスはダイナミックに

ワークロードグループにマップされる

Page 34: Microsoft Azure - SQL Data Warehouse

Azure Data Factory (ADF) copy SQL Server Integration Services Bcp Azure Import and Export Service AZCopy

データ移行様々なツールをサポート

Page 35: Microsoft Azure - SQL Data Warehouse

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 のみサポート

Page 36: Microsoft Azure - SQL Data Warehouse

Sample TSQL – Data Source

-- Create a data sourceCREATE EXTERNAL DATA SOURCE [WebLogSource]WITH( TYPE = HADOOP, LOCATION = 'wasbs://[email protected]/', CREDENTIAL = ProdCreds );

Page 37: Microsoft Azure - SQL Data Warehouse

統合

App ServiceAzure SQL Database

Azure Machine Learning

Intelligent App

Hadoop

Azure SQL DataWarehouse

Power BI

Power BI や Machine Learning 、 Data Factory 等と容易に連携

Page 38: Microsoft Azure - SQL Data Warehouse

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/

Page 39: Microsoft Azure - SQL Data Warehouse

© 2015 Microsoft Corporation. All rights reserved.