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
200
0
Share
BigQueryテーブル最適化
セゾン情報システムズ クラウド LT 大会 vol.3 の資料です
https://saison-coloris.connpass.com/event/274604/
yu_sa18
March 02, 2023
More Decks by yu_sa18
See All by yu_sa18
BigQuery Continuous query
yu_sa18
0
140
BigQuery の AWS Glue フェデレーションデータセット
yu_sa18
0
120
Duet AI in BigQuery
yu_sa18
0
240
BigQuery Studio
yu_sa18
0
490
【Google Cloud】組織なしプロジェクトを組織へ移行する
yu_sa18
0
440
DataFusionのネットワークでつまづいたはなし
yu_sa18
0
630
Datastream for BigQuery を使ってみた
yu_sa18
0
450
Other Decks in Technology
See All in Technology
Dynamic Workersについて
yusukebe
2
470
AIが変えた"品質の守り方"
kkakizaki
13
5.4k
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
290
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
5
310
Agentic Design Patterns
glaforge
0
290
long-running-tasks
cipepser
2
440
はじめてのDatadog
kairim0
0
230
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
690
OpenID Connectによるサービス間連携
takesection
0
140
Diagnosing performance problems without the guesswork
elenatanasoiu
0
120
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
390
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
190
GitHub's CSS Performance
jonrohan
1033
470k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to train your dragon (web standard)
notwaldorf
97
6.6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
260
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The Language of Interfaces
destraynor
162
26k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Documentation Writing (for coders)
carmenintech
77
5.4k
Transcript
BigQuery テーブル最適化 2023/3/1 澤木 佑果
自己紹介 2 所属:セゾン情報システムズ DataSpider と PIMSYNC 維持開発担当 趣味:おいしいものを食べること(苺のお菓子が楽しみ)
BigQuery テーブルの最適化 3 テーブルの最適化はパフォーマンス向上だけでなくコスト削減に繋がる BigQueryはクエリ実行時のテーブルのスキャン量に応じてコストが発生する スキャン量はクエリに指定したカラムのデータ量で決まる クエリに指定するカラムを最低限にすることのほかに、 テーブルのパーティション分割やクラスタ化することでスキャン量を削減できる
パーティション分割 4 パーティション分割とは、特定のカラムの値をもとに内部的に分割された テーブルを作成すること 例えば日付カラムをパーティションキーに指定したテーブルに対して、 条件式にパーティションキーを指定したクエリを実行すると、 条件に当てはまる分割テーブルのみスキャンする ここだけ スキャン
パーティション分割 設定方法 5 テーブル作成時にパーティションキーとするカラムを指定する コンソール画面からも指定できる [Google Cloud]分割テーブルの作成
パーティション分割 スキャン量の比較 6 クエリ実行前の予測からスキャン量が減少していることがわかる 分割していないテーブル パーティション分割したテーブル
クラスタリング 7 クラスタリングとは、特定のカラムの値をもとに内部的にテーブルデータを ソートすること 文字列カラムをクラスタ化したテーブルに対して、条件式にクラスタ化したカラ ムを指定したクエリを実行したとき、条件に当てはまる範囲をスキャンする [Google Cloud]クラスタ化テーブルの概要
クラスタリング 設定方法 8 テーブル作成時にクラスタ化するカラムを指定する コンソール画面からも指定できる [Google Cloud]クラスタ化テーブルの作成と使用
クラスタリング スキャン量の比較 9 クエリ実行結果からスキャン量が減少していることがわかる クラスタ化していないテーブル クラスタ化したテーブル
さいごに 10 • 要件によって使い分けができる • 事前にスキャン量を知りたいか • 指定したいカラムのデータ型 • 一つのテーブルで両方使うこともできるので、きめ細かい並び替えが可能
クエリに合わせたテーブル設計が大切!