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
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
PDF
MySQLバックアップの基本
yoyamasaki
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PDF
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
NTT DATA Technology & Innovation
PDF
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
MySQLバックアップの基本
yoyamasaki
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
NTT DATA Technology & Innovation
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
What's hot
(20)
PDF
DockerとPodmanの比較
Akihiro Suda
PPTX
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
PDF
XIDを周回させてみよう
Akio Ishida
PDF
Linux女子部 systemd徹底入門
Etsuji Nakai
PDF
Vacuum徹底解説
Masahiko Sawada
PDF
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
PDF
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
PDF
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
NTT DATA Technology & Innovation
PPTX
iostat await svctm の 見かた、考え方
歩 柴田
PDF
Dockerイメージ管理の内部構造
Etsuji Nakai
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
PPTX
コンテナネットワーキング(CNI)最前線
Motonori Shindo
PDF
PostgreSQLレプリケーション徹底紹介
NTT DATA OSS Professional Services
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
PDF
まずやっとくPostgreSQLチューニング
Kosuke Kida
PDF
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
PPTX
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
NTT DATA Technology & Innovation
PDF
3分でわかるAzureでのService Principal
Toru Makabe
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
DockerとPodmanの比較
Akihiro Suda
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
XIDを周回させてみよう
Akio Ishida
Linux女子部 systemd徹底入門
Etsuji Nakai
Vacuum徹底解説
Masahiko Sawada
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
NTT DATA Technology & Innovation
iostat await svctm の 見かた、考え方
歩 柴田
Dockerイメージ管理の内部構造
Etsuji Nakai
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
コンテナネットワーキング(CNI)最前線
Motonori Shindo
PostgreSQLレプリケーション徹底紹介
NTT DATA OSS Professional Services
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
まずやっとくPostgreSQLチューニング
Kosuke Kida
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
NTT DATA Technology & Innovation
3分でわかるAzureでのService Principal
Toru Makabe
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
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
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
Hideo Takagi
PDF
DLLAB Ignite Update Data Platform
Deep Learning Lab(ディープラーニング・ラボ)
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
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
Hideo Takagi
DLLAB Ignite Update Data Platform
Deep Learning Lab(ディープラーニング・ラボ)
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