Submit Search
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
1 like
1,670 views
T
Tomoyuki Oota
Microsoft Tech Summit 2018 でのセッション資料です
Technology
Read more
1 of 109
Download now
Downloaded 35 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
More Related Content
PDF
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
PDF
Always on 可用性グループ 構築時のポイント
Masayuki Ozawa
PPTX
事例で学ぶApache Cassandra
Yuki Morishita
PDF
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
PPTX
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Amazon Web Services Japan
PDF
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
NTT DATA Technology & Innovation
PDF
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Ryota Watabe
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Always on 可用性グループ 構築時のポイント
Masayuki Ozawa
事例で学ぶApache Cassandra
Yuki Morishita
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Amazon Web Services Japan
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
NTT DATA Technology & Innovation
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Ryota Watabe
What's hot
(20)
PDF
Oracle Data Guard による高可用性
Yahoo!デベロッパーネットワーク
PPTX
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
Hideo Takagi
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
PDF
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
Amazon Web Services Japan
PPT
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
PDF
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
Insight Technology, Inc.
PPTX
Redisの特徴と活用方法について
Yuji Otani
PDF
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
PDF
昨今のストレージ選定のポイントとCephStorageの特徴
Takuya Utsunomiya
PDF
MongoDBのアレをアレする
Akihiro Kuwano
PPTX
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
NTT DATA Technology & Innovation
PPTX
OpenStackで始めるクラウド環境構築入門
VirtualTech Japan Inc.
PDF
PostgreSQL 9.5 CPU Read Scalability
Ohyama Masanori
PDF
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
Ryoma Nagata
PDF
Amazon Redshift 概要 (20分版)
Amazon Web Services Japan
PDF
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
PDF
MongoDB Configパラメータ解説
Shoken Fujisaki
Oracle Data Guard による高可用性
Yahoo!デベロッパーネットワーク
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
Hideo Takagi
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
Amazon Web Services Japan
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
Insight Technology, Inc.
Redisの特徴と活用方法について
Yuji Otani
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
昨今のストレージ選定のポイントとCephStorageの特徴
Takuya Utsunomiya
MongoDBのアレをアレする
Akihiro Kuwano
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
NTT DATA Technology & Innovation
OpenStackで始めるクラウド環境構築入門
VirtualTech Japan Inc.
PostgreSQL 9.5 CPU Read Scalability
Ohyama Masanori
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
Ryoma Nagata
Amazon Redshift 概要 (20分版)
Amazon Web Services Japan
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
MongoDB Configパラメータ解説
Shoken Fujisaki
Ad
Similar to 性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
(20)
PDF
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説
decode2016
PPTX
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
GoAzure
PDF
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
PDF
SQL Azure のシームレスな管理
junichi anno
PDF
Sql database managed instance overview and internals
Masayuki Ozawa
PDF
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Microsoft
PDF
Managed Instance チートシート
Masayuki Ozawa
PDF
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
Naoki (Neo) SATO
PPTX
Sql azure入門
貴仁 大和屋
PDF
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
Daisuke Masubuchi
PPTX
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
Daiyu Hatakeyama
PDF
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
Tomoyuki Oota
PDF
[Japan Tech summit 2017] DAL 003
Microsoft Tech Summit 2017
PPTX
GA直前!SQL Server 2017 Linux 版の深イイ話
Miho Yamamoto
PDF
Dat004 開発者に捧ぐ「sql server_2016_
Tech Summit 2016
PPTX
SQL Server 入門
Tsuyoshi Kitagawa
PPTX
SQL Server 2019 とともに知る Microsoft Data Platform
Daiyu Hatakeyama
PDF
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
PDF
DLLAB Ignite Update Data Platform
Deep Learning Lab(ディープラーニング・ラボ)
PPTX
2011/11/26 Dot netlab
貴仁 大和屋
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説
decode2016
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
GoAzure
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
SQL Azure のシームレスな管理
junichi anno
Sql database managed instance overview and internals
Masayuki Ozawa
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Microsoft
Managed Instance チートシート
Masayuki Ozawa
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
Naoki (Neo) SATO
Sql azure入門
貴仁 大和屋
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
Daisuke Masubuchi
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
Daiyu Hatakeyama
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
Tomoyuki Oota
[Japan Tech summit 2017] DAL 003
Microsoft Tech Summit 2017
GA直前!SQL Server 2017 Linux 版の深イイ話
Miho Yamamoto
Dat004 開発者に捧ぐ「sql server_2016_
Tech Summit 2016
SQL Server 入門
Tsuyoshi Kitagawa
SQL Server 2019 とともに知る Microsoft Data Platform
Daiyu Hatakeyama
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
DLLAB Ignite Update Data Platform
Deep Learning Lab(ディープラーニング・ラボ)
2011/11/26 Dot netlab
貴仁 大和屋
Ad
More from Tomoyuki Oota
(9)
PDF
SQL Server エンジニア のための コンテナ入門(k8s編)
Tomoyuki Oota
PDF
SQL Server コンテナ入門(Kubernetes編)
Tomoyuki Oota
PDF
SQL Server コンテナ入門(Docker編)
Tomoyuki Oota
PDF
SQL Server エンジニア のための コンテナ入門
Tomoyuki Oota
PDF
For Power BI Beginners
Tomoyuki Oota
PDF
SQL Server 2017 で実現される AIシステムモデル のご紹介
Tomoyuki Oota
PDF
データ分析プラットフォームの歩き方
Tomoyuki Oota
PDF
SQL Server 2017 Machine Learning Services (CLR-H in TOKYO #13)
Tomoyuki Oota
PDF
Data Scientists Love SQL Server
Tomoyuki Oota
SQL Server エンジニア のための コンテナ入門(k8s編)
Tomoyuki Oota
SQL Server コンテナ入門(Kubernetes編)
Tomoyuki Oota
SQL Server コンテナ入門(Docker編)
Tomoyuki Oota
SQL Server エンジニア のための コンテナ入門
Tomoyuki Oota
For Power BI Beginners
Tomoyuki Oota
SQL Server 2017 で実現される AIシステムモデル のご紹介
Tomoyuki Oota
データ分析プラットフォームの歩き方
Tomoyuki Oota
SQL Server 2017 Machine Learning Services (CLR-H in TOKYO #13)
Tomoyuki Oota
Data Scientists Love SQL Server
Tomoyuki Oota
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
1.
性能問題を起こしにくい 信頼されるクラウド RDB のつくりかた 太田
智行 #mstsjp18 #DA08 NECソリューションイノベータ株式会社 サポートサービス事業部 データベースプロフェッショナルサービス部 DA08
2.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 自己紹介 太田 智行(おおた ともゆき) これまで:リレーショナルデータベースひと筋15年超 PostgreSQL 8年、 SQL Server 8年、Oracleちょこちょこ、MySQL 甘噛み程度 現在:Data Platform 全般で活動中 WebでSQL Server技術記事をゆるやかに連載中 https://enterprisezine.jp/dbonline/detail/9626 データエンジニアの会 https://data-engineer.connpass.com/ Microsoft MVP for Data Platform(2018.2~) https://mvp.microsoft.com/ja-jp/PublicProfile/5002980?fullName=Tomoyuki%20%20Oota
3.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
4.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. IaaS PaaS Microsoft Azure SQL Database SQL Data Warehouse SQL Server on IaaS Managed Instance Single Database Elastic Pool データウェアハウス用途汎用、オンライントランザクション用途 + Other Clouds
5.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
6.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 改善フェーズ ➢ 5.チューニング ➢ 6.リソース拡張 本セッションのスコープ外
7.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. リレーショナルデータベース管理者(DBA) ➢ 初~中級DBA • DB構築時のチェックリストとして ➢ 上級DBA • 頭の中にある過去経験の棚卸として
8.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 構築フェーズ 1.ストレージ構成の最適化
9.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ストレージ ディスク ストレージ コントローラ ストレージ ネットワーク ホストバス アダプタ ストレージ システム 最大性能 バランス 良 ストレージ ディスク ストレージ コントローラ ストレージ ネットワーク ホストバス アダプタ ストレージ システム 最大性能 バランス 悪 CPU CPU
10.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ディスクを束ねて必要I/O性能を構成する Azureリソース内のI/O性能 SQL Server on IaaS
11.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. Maneged Disk サイズ IOPS スループット MB/s Standard HDD 32GB~32TB 500~2,000 60~500 Standard SSD 128GB~32TB 500~1,300 60~300 Premium SSD 32GB~16TB 120~15,000 25~750 Ultra SSD (preview) 4GB~64TB 1,200~160,000 300~2,000
12.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 0 500 1000 1500 2000 x1 x2 x3 x4 ディスクのストライピング本数 と IOPS実測値 • ディスク ✓ S4(Managed Standard HDD、Max 500 IOPS) ✓ Storage Spaceでストライピング • VM ✓ Standard_D2s_v3 ✓ ホストキャッシュ無し
13.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. Azureリソースそれぞれにスループット上限あり ➢ ① ディスク • ディスク種類とレベルに応じる(ex. Prm SSD P10:500 IOPS, 100 MB/s) ➢ ② ストレージアカウント ※. Unmanaged Diskが対象。Managed Diskはストレージアカウントの制約を受けない • Standard:アカウントあたり 20,000 IOPS • Premium:アカウントあたり 50 Gbps ➢ ③ VM • VMレベルに応じる(ex. Std_DS2_v2:6,400 IOPS, 96 MB/s, 8Disks) ディスク ストレージ アカウント VM システムI/O性能
14.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ディスクを束ねて必要I/O性能を構成する Azureリソース内のI/O性能 SQL Database Managed Instance(General Purpose)
15.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. DB作成するとDBファイルごと単一プレミアムディスクが割当たる ➢ データベースファイルごと排他的にスループットが保証される 1.ディスクのチョイスはAzureにおまかせ Azure Storage Managed Instance (General Purpose) ユーザ DB CREATE DATABASE
16.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 割当たるディスクはDBファイルのサイズに応じて自動決定 ➢ 運用によるDBファイルのサイズ変動に応じてディスクレベルも自動調整 1.ディスクのチョイスはAzureにおまかせ データベースファイルのサイズ 割り当たるプレミアムディスク(Premium SSD) (*) ~ 128GB P10(128 GB、500 IOPS、100 MB/s) 128GB ~ 256GB P15(256 GB、1100 IOPS、125 MB/s) 256GB ~ 512GB P20(512 GB、2300 IOPS、150 MB/s) 512GB ~ 1TB P30(1 TB、5000 IOPS、200 MB/s) 1TB ~ 2TB P40(2 TB、7500 IOPS、250 MB/s) 2TB ~ 4TB P50(4 TB、7500 IOPS、250 MB/s) (*) 小さいDBファイルで あってもP10未満が アサインされることは ない
17.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. Gereral PurposeではTEMPDB に限りローカルSSD ➢ Business Critical(preview)は全DBファイルがローカルSSD 1.ディスクのチョイスはAzureにおまかせ TEMPDB Managed Instance (General Purpose) ユーザDB Azure Storage Local SSD
18.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 複数ファイル構成は従来通り SQL Server がストライプI/O ➢ あとから追加だとデータの装填に偏りが生じるので当初のサイジングは大事 • リバランス操作で偏り解消は可能ではあるが。 Azure Storage Managed Instance (General Purpose) ユーザ DB
19.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. データベースファイルのサイズ 割り当たるプレミアムディスク(Premium SSD) 128GB ~ 256GB P15(256 GB、1100 IOPS、125 MB/s) DBファイルのサイズとプレミアムディスクのサイズは一致しないため、それぞれに上限設定がある
20.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. WITH DatabaseFile AS( SELECT database_id AS DatabaseID, CAST(size * 8. / 1024 / 1024 AS decimal(12,4)) AS FileSizeGB FROM sys.master_files ) SELECT SUM(FileSizeGB) AS FileSizeGB, SUM( IIF( DatabaseID <> 2, CASE WHEN FileSizeGB <= 128 THEN 128 WHEN FileSizeGB > 128 AND FileSizeGB <= 256 THEN 256 WHEN FileSizeGB > 256 AND FileSizeGB <= 512 THEN 512 WHEN FileSizeGB > 512 AND FileSizeGB <= 1024 THEN 1024 WHEN FileSizeGB > 1024 AND FileSizeGB <= 2048 THEN 2048 WHEN FileSizeGB > 2048 AND FileSizeGB <= 4096 THEN 4096 ELSE 8192 END, 0 ) ) AS BlobSizeGB FROM DatabaseFile; Managed Instanceデプロイ時に 指定したサイズ 32GB~8TB が上限 ストレージアカウントに設定 された 35TBが上限
21.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. すべてAzureにおまかせ(DBファイルも意識しない) SQL Database Single Database / Elastic Pool SQL Data Warehouse
22.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. Azure IaaS Azure PaaSOn-Premises SQL Server SQL Server on IaaS Managed Instance ネットワーク ストレージ サーバー ホスト OS 仮想化 ゲスト OS SQL Server インスタンス データベース データ ネットワーク ストレージ サーバー ホスト OS 仮想化 ゲスト OS SQL Server インスタンス データベース データ ネットワーク ストレージ サーバー ホスト OS 仮想化 ゲスト OS SQL Server インスタンス データベース データ ネットワーク ストレージ サーバー ホスト OS 仮想化 ゲスト OS SQL Server インスタンス データベース データ Single Database / Elastic Pool SQL Data Warehouse Azure 管理利用者 管理
23.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. CREATE DATABASE [DEMO_DB] ON PRIMARY ( NAME=N'DEMO_DB',FILENAME=N'data.mdf') LOG ON ( NAME=N'DEMO_DB_log',FILENAME=N'log.ldf') GO CREATE DATABASE 処理が 足回りを意識する
24.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. SELECT 氏名, 年齢, 住所 FROM 社員 WHERE 社員ID = ログインID SELECT売上年度, SUM(売上) FROM 売上明細 GROUP BY 売上年度
25.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 局所的なデータアクセス ✓物理配置の影響は受けにくい など広範囲なデータアクセス ✓欲しいデータが物理的に近接していることが望ましい
26.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. コントロールノード ユーザーからの接続 コンピュートとストレージの調整 コンピュートノード クエリ実行 スケールアウト / イン可能 不要なときは停止可能 ストレージノード データ保存 60分散のリモートストレージ DW100 60分散固定 リモートストレージ
27.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. コントロールノード ユーザーからの接続 コンピュートとストレージの調整 コンピュートノード クエリ実行 スケールアウト / イン可能 不要なときは停止可能 ストレージノード データ保存 60分散のリモートストレージ DW600 60分散固定 リモートストレージ
28.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. リモートストレージ間のデータ移動は大きな性能ペナルティ ➢ データ移動は主に結合や集計を行うクエリで発生する • 結合する値がこのディストリビューション内に存在しない • 集計がこのディストリビューション内で完結できない
29.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. データ移動なし データ移動あり コスト 0.00216 BROADCAST_MOVE ( コスト 38400.00216
30.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. どのように分散配置するかによって制御 リモートストレージ間のデータ移動は大きな性能ペナルティ
31.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ハッシュ分散 ラウンドロビン分散(既定) レプリケート 分散キーのHush値で分散 ランダム均等分散 全てのストレージへコピー CREATE TABLE (…) WITH DISTRIBUTION=HASH(UserID) CREATE TABLE (…) WITH DISTRIBUTION=ROUND_ROBIN CREATE TABLE (…) WITH DISTRIBUTION = REPLICATE
32.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ハッシュ分散 ラウンドロビン分散(既定) レプリケート 分散キーのHush値で分散 ランダム均等分散 全てのストレージへコピー
33.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ そのためにチョイスするべきキー列 • JOIN, GROUP BY, DISTINCT, HAVING で使用される列 ✓Ex)ともにorder_idで分散したorders表とtransaction表をorder_idで 結合する場合はデータの移動が不要となる ✓注)JOINキーのデータ型は一致していないとダメ • WHERE 句で使われていない列 ✓ Ex)日付型はWhereでよく使われる
34.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ そのためにチョイスするべきキー列 データスキュー状態の場合、並列クエリ実行時の各ディストリビューションの作業量も不均衡となり、 結果として全体の性能が最も処理が遅いディストリビューションの性能に引きずられる。
35.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
36.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. HASH([ProductKey]) HASH([ProductKey])
37.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. HASH([ProductKey])HASH([ProductKey])
38.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ROUND_ROBINHASH([ProductKey])
39.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. HASH([ProductKey])HASH([ProductKey])
40.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. HASH([ProductKey]) INT HASH([ProductKey]) BIGINT
41.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. HASH([ProductKey]) INT HASH([ProductKey]) BIGINT
42.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 構築フェーズ 2.アクセスパスの最適化
43.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. Why テーブルスキャン インデックスシーク + テーブルルックアップ VS 1 3 2 4 6 5 7 9 8 1 2 3 5 4 テーブル インデックス テーブル
44.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. Why テーブルスキャン インデックスシーク + テーブルルックアップ VS 1 3 2 4 6 5 7 9 8 1 2 3 9 8 7 6 5 10 4 テーブル インデックス テーブル
45.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 適切なインデックスを定義する 正しくクエリを書く 統計情報の高い鮮度と精度を保つ(詳細は4章で)
46.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックス利用が正解とは限らない。 ➢ 小さいテーブル ➢ 広範囲のスキャン インデックス構造を踏まえた適切なインデックスを利用する ➢ B-Tree(非クラスタ化、クラスタ化、付加列)、列ストア • ビットマップ、ハッシュ は無し。 1 2 3 9 8 7 6 5 10 4
47.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックスはあればあっただけ良いというものではない ➢ 使われないインデックスは百害あって一利なし。 +システム性能向上 本の目次は 固定だけど。
48.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 作りっぱなしはだめ ➢ 定期メンテナンスが必要(詳細は4章で) インデックスも デフラグ必要
49.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
50.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 注文ID 商品ID 日付 売上 101 52 201801 100 ・・・ ・・・ ・・・ ・・・ 110 23 201812 300 集 計 処 理 101 52 201801 100 ・・・ ・・・ ・・・ ・・・ 110 23 201212 300 バッファプール 101 52 201801 100 ・・・ ・・・ ・・・ ・・・ 110 23 201212 300 集計に不要な列 もI/Oされる 集計に不要な列 もキャッシュされる 注文ID 商品ID 日付 売上 101 52 201801 100 ・・・ ・・・ ・・・ ・・・ 110 23 201812 300 集 計 処 理 100 ・・・ 300 バッファプール 100 ・・・ 300 集計に不要な列 はI/Oされない 行ストア 列ストア 行ストア 列ストア 集計に不要 な列はキャッ シュされない 同じ属性なので 圧縮効果も高い
51.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. カラムストア (既定) ヒープ クラスタ化インデックス 非クラスタ化インデックス ✓ 大きなテーブル(パーティショ ン当たりの行数は 100 万 行以上に保つ) ✓ 列単位 I/O、高圧縮率 ✓ ヒープと比較してデータロード は低速 ✓ ロード用ステージングテーブル ✓ 1 億行未満の小さなルック アップ テーブル ✓ 一時テーブル(ローカルスト レージに配置された tempdb)を使うことでさら にロードを高速化 ✓ 極めて少数の行の検索が 優先となるテーブル ✓ 非クラスタ化インデックスは セカンダリインデックスとして 利用可能
52.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックスが使われないかもしれないケース例
53.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
54.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 運用フェーズ 3.パフォーマンスの監視
55.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 可視化 分析&処方 自動対処
56.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ Azure Monitor ➢ Azure SQL DW Monitor ➢ Azure Advisor ➢ Azure VM Perf Diagnostics(preview) ➢ Azure SQL DB Query Perf Insights ➢ Azure SQL DB Intelligent Insights ➢ Automatic Tuning for Azure SQL DB 可視化 分析&処方 自動対処
57.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ Azure Monitor ➢ Azure SQL DW Monitor ➢ Azure Advisor ➢ Azure VM Perf Diagnostics(preview) ➢ Azure SQL DB Query Perf Insights ➢ Azure SQL DB Intelligent Insights ➢ Automatic Tuning for Azure SQL DB 可視化 分析&処方 自動対処
58.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
59.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
60.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
61.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
62.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ Perfmon 消 ➢ Activity Monitor 消 ➢ Dara Collector 消 ➢ Azure Monitor ➢ Azure SQL DW Monitor ➢ Azure Advisor ➢ Azure VM Perf Diagnostics(preview) ➢ Azure SQL DB Query Perf Insights ➢ Azure SQL DB Intelligent Insights ➢ Automatic Tuning for Azure SQL DB 可視化 分析&処方 自動対処
63.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
64.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
65.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
66.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
67.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
68.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. アボートするワーカーが 増えています
69.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ロックウェイトの多発が 性能に影響しています。 下記はロックチェーンの 先頭にいるクエリ一覧 です。
70.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ユーザからの負荷が増大し 積みあがっています。 CPU,IO,LOGの負荷は限 界に達しています
71.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. リソース使用率が増加したクエリの数 は3です。その中で最大の原因は最近 データベースに登場した新しいクエリ (0x34CFCB2D40A683FD)です。
72.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 検出された性能問題のパターンは 「ワークロードの増加」
73.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ✓ リソースの上限に到達 ✓ 待機の増加 ✓ ワークロードの増加 ✓ TempDB の競合 ✓ メモリ不足 ✓ エラスティック プールの DTU 不足 ✓ 過剰ロック ✓ プランの変動 ✓ 過剰並列化処理 ✓ データベース スコープの構成値の変更 ✓ ページラッチの競合 ✓ 処理速度が低いクライアント ✓ インデックスの不足 ✓ 価格レベルのダウングレード ✓ 新しいクエリの検出
74.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ Perfmon 消 , SQL Trace 消 ➢ Activity Monitor 消 ➢ Dara Collector 消 ➢ Azure Monitor ➢ Azure SQL DW Monitor ➢ Database Engine Tuning Advisor 消 ➢ Azure Advisor ➢ Azure VM Perf Diagnostics(preview) ➢ Azure SQL DB Query Perf Insights ➢ Azure SQL DB Intelligent Insights ➢ Automatic Tuning for Azure SQL DB 可視化 分析&処方 自動対処
75.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
76.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
77.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
78.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
79.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
80.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
81.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
82.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
83.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ Perfmon 消 ➢ XEvent, SQL Trace 消 ➢ Activity Monitor 消 ➢ Dara Collector 消 ➢ Query Store 消 ➢ Azure Monitor ➢ Azure SQL DW Monitor ➢ Database Engine Tuning Advisor 消 ➢ Azure Advisor ➢ Azure VM Perf Diagnostics(preview) ➢ Azure SQL DB Query Perf Insights ➢ Azure SQL DB Intelligent Insights ➢ Automatic Tuning 可視化 分析&処方 自動対処
84.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
85.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
86.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
87.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ✓ 接続を監視する ✓ クエリ実行を監視する ✓ 待機クエリを監視する ✓ tempdb を監視する ✓ メモリを監視する ✓ トランザクション ログのサイズを監視する ✓ トランザクション ログのロールバックを監視する 参考)https://docs.microsoft.com/ja-jp/azure/sql-data-warehouse/sql-data-warehouse-manage-monitor
88.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
89.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
90.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
91.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
92.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
93.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. ➢ Perfmon 消 , SQL Trace 消 ➢ Activity Monitor 消 ➢ Dara Collector 消 ➢ Azure Monitor ➢ Azure SQL DW Monitor ➢ Database Engine Tuning Advisor 消 ➢ Azure Advisor ➢ Azure VM Perf Diagnostics(preview) ➢ Azure SQL DB Query Perf Insights ➢ Azure SQL DB Intelligent Insights ➢ Automatic Tuning for Azure SQL DB 可視化 分析&処方 自動対処
94.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
95.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
96.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 運用フェーズ 4.メンテナンス
97.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 統計情報の定期メンテナンス 統計情報のメンテナンス挙動把握が大事。 ➢ 作成されるタイミング • Indexが作成された列WHERE句やJOIN句の条件となった列に対し て自動作成(手動作成も可) ➢ 更新されるタイミング • ざっくり目安としてレコード数の20%に相当するレコードが変更さ れたタイミングで自動更新(レコード数増加に応じて20%閾値は自 動調整される)。 統計情報の精度・鮮度は性能に直結
98.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 統計情報の定期メンテナンス 参考:統計情報の自動更新の詳細 ① クエリプラン キャッシュの検索 . ② 関連する統計情報 のロード 成功 ③b 古い統計情報 はあるか Yes No ③a 更新が必要な統計情報すべてを更新 ④ クエリプラン生成とリコンパイル閾値の設定 ⑤ クエリプランのテスト(スキーマチェック) ⑥ スキーマは 有効か Yes ⑦ 新しい統計情報 を使用できるか ⑧ 古い統計情報は あるか ⑨ クエリ 実行 Yes Yes No No ⑩ リコンパイル No 失敗 . S E クエリ 実行開始 クエリ 実行終了
99.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. 統計情報の定期メンテナンス 計画的な手動更新が必要となる場合もある 一定のデータ量 手動更新不要 一貫した増加傾向 基本的には自動更新に任せておけばよい 一定間隔の増減反復 バッチ処理のような大量更新を行う場合は手動更新 とセットで実施(初回クエリが犠牲にならないように) データの分布変化 自動更新しきい値未満でもデータ分布に影響を与える 変更を行う場合は手動更新をセットで実施 新しいデータの参照 新しいデータのみ参照したい場合は手動更新をセット で実施
100.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックスの定期メンテナンス ✓ データの変更に伴いデータが断片化 ✓ → I/O量やインストラクション増大 ✓ → 性能劣化 性能劣化予防のために定期的にデフラグする キー ポインタ 10 ・・・ 20 ・・・ 30 ・・・ 40 ・・・ 50 ・・・ 60 ・・・ キー ポインタ 10 ・・・ 20 ・・・ 21 ・・・ 30 ・・・ キー ポインタ 40 ・・・ 50 ・・・ 60 ・・・ INSERT キー = 21
101.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックスの定期メンテナンス 内部断片化 ➢ ページ内のデータの装填率(密度)を示す ➢ 未使用領域分の余計なI/Oによるアクセス効率低下 • FILLFACTORで装填率をコントロールしているケースも 断片化の種類とその影響 同じデータ量に対して装填率100% と50%ではI/Oページ量が2倍になる装填率 100% 装填率 50% vs
102.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックスの定期メンテナンス 外部断片化 ➢ インデックス論理順とファイル内物理順の不一致度合いを示す ➢ データ順が不連続状態になることでのアクセス効率低下 断片化の種類とその影響 10 - 11 index record 11 10 20 index record 12 p n index record 13 p n index record 14 p n index record 15 26 16 index record 16 15 17 index record 17 16 18 index record 18 p n index record 19 p n index record 20 11 23 index record 21 p n index record 22 p n index record 23 20 24 index record 24 23 15 index record 25 p n index record ~ ファイル内の物理番地 → インデックスの論理順 → インデックスAの断片 (大きさ=2) インデックスAの断片 (大きさ=3) インデックスAの断片 (大きさ=1) インデックスAの断片化率 = =37.5% 3(赤線ホップ数) 8(総ページ数) インデックスAの断片 (大きさ=2)
103.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. インデックスの定期メンテナンス B-Treeインデックスの深さ ➢ B-Treeの階層の数を示す ➢ 欲しいデータの番地を得るまでに辿らねばならないインデックス ページが増えることでのアクセス効率低下 断片化の種類とその影響 1階 4階 3階 2階 最上階から1階まで下るコストを 4階建と3階建で比較すると単純計算 で1.3倍強になる(3階までなら階段で 上がってもいいけど4階となると…)。 vs
104.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. まとめ
105.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
106.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved.
107.
© 2018 NEC
Solution Innovators, Ltd. All rights reserved. S Thank you!
108.
Information 「Ask The Speaker」 各ブレイクアウトセッション終了後の休憩時間に、 登壇したスピーカーに直接ご質問いただけるコーナーを B2F
「Ask The Speaker」 Room に用意 しています。セッション内容のより深い理解のため、 ぜひお役立てください。 (※ハンズオンラーニング、シアターセッション、ビジネストラック 及び 一部のセッションを除きます) EXPO AREA 1 EXPO AREA 2 Room B
109.
セッションアンケートにご協力ください。 公式イベントアプリで、「Microsoft Tech Summit
2018 参加者アンケート(必須)」と 「各セッションアンケート( 5 つ以上)」、合わせて 6 つ以上のアンケートにご回答ください。 もれなくオリジナルグッズを贈呈いたします。 Information Twitter のご案内 本セッションに関するご質問やご感想は、 #mstsjp18 と セッション ID の ハッシュタグで、ご投稿をお願いします。 #mstsjp18
Download