Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BigQueryテーブル最適化
Search
yu_sa18
March 02, 2023
Technology
0
170
BigQueryテーブル最適化
セゾン情報システムズ クラウド LT 大会 vol.3 の資料です
https://saison-coloris.connpass.com/event/274604/
yu_sa18
March 02, 2023
Tweet
Share
More Decks by yu_sa18
See All by yu_sa18
BigQuery Continuous query
yu_sa18
0
94
BigQuery の AWS Glue フェデレーションデータセット
yu_sa18
0
57
Duet AI in BigQuery
yu_sa18
0
120
BigQuery Studio
yu_sa18
0
320
【Google Cloud】組織なしプロジェクトを組織へ移行する
yu_sa18
0
200
DataFusionのネットワークでつまづいたはなし
yu_sa18
0
460
Datastream for BigQuery を使ってみた
yu_sa18
0
370
Other Decks in Technology
See All in Technology
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
1
290
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
470
利きプロセススケジューラ
sat
PRO
4
2.6k
徹底比較!HA Kubernetes ClusterにおけるControl Plane LoadBalancerの選択肢
logica0419
2
140
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
Windows Autopilot Deployment by OSD Guy
tamaiyutaro
0
310
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
120
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
630
地理情報データをデータベースに格納しよう~ GPUを活用した爆速データベース PG-Stromの紹介 ~
sakaik
1
110
Redmine 6.0 新機能評価ガイド
vividtone
0
270
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
300
Lambdaと地方とコミュニティ
miu_crescent
2
260
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
A Tale of Four Properties
chriscoyier
156
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
700
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Making Projects Easy
brettharned
115
5.9k
It's Worth the Effort
3n
183
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Automating Front-end Workflow
addyosmani
1366
200k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
How GitHub (no longer) Works
holman
310
140k
Transcript
BigQuery テーブル最適化 2023/3/1 澤木 佑果
自己紹介 2 所属:セゾン情報システムズ DataSpider と PIMSYNC 維持開発担当 趣味:おいしいものを食べること(苺のお菓子が楽しみ)
BigQuery テーブルの最適化 3 テーブルの最適化はパフォーマンス向上だけでなくコスト削減に繋がる BigQueryはクエリ実行時のテーブルのスキャン量に応じてコストが発生する スキャン量はクエリに指定したカラムのデータ量で決まる クエリに指定するカラムを最低限にすることのほかに、 テーブルのパーティション分割やクラスタ化することでスキャン量を削減できる
パーティション分割 4 パーティション分割とは、特定のカラムの値をもとに内部的に分割された テーブルを作成すること 例えば日付カラムをパーティションキーに指定したテーブルに対して、 条件式にパーティションキーを指定したクエリを実行すると、 条件に当てはまる分割テーブルのみスキャンする ここだけ スキャン
パーティション分割 設定方法 5 テーブル作成時にパーティションキーとするカラムを指定する コンソール画面からも指定できる [Google Cloud]分割テーブルの作成
パーティション分割 スキャン量の比較 6 クエリ実行前の予測からスキャン量が減少していることがわかる 分割していないテーブル パーティション分割したテーブル
クラスタリング 7 クラスタリングとは、特定のカラムの値をもとに内部的にテーブルデータを ソートすること 文字列カラムをクラスタ化したテーブルに対して、条件式にクラスタ化したカラ ムを指定したクエリを実行したとき、条件に当てはまる範囲をスキャンする [Google Cloud]クラスタ化テーブルの概要
クラスタリング 設定方法 8 テーブル作成時にクラスタ化するカラムを指定する コンソール画面からも指定できる [Google Cloud]クラスタ化テーブルの作成と使用
クラスタリング スキャン量の比較 9 クエリ実行結果からスキャン量が減少していることがわかる クラスタ化していないテーブル クラスタ化したテーブル
さいごに 10 • 要件によって使い分けができる • 事前にスキャン量を知りたいか • 指定したいカラムのデータ型 • 一つのテーブルで両方使うこともできるので、きめ細かい並び替えが可能
クエリに合わせたテーブル設計が大切!