$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BigQueryテーブル最適化
Search
yu_sa18
March 02, 2023
Technology
0
190
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
130
BigQuery の AWS Glue フェデレーションデータセット
yu_sa18
0
110
Duet AI in BigQuery
yu_sa18
0
210
BigQuery Studio
yu_sa18
0
470
【Google Cloud】組織なしプロジェクトを組織へ移行する
yu_sa18
0
370
DataFusionのネットワークでつまづいたはなし
yu_sa18
0
600
Datastream for BigQuery を使ってみた
yu_sa18
0
430
Other Decks in Technology
See All in Technology
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
580
pmconf2025 - 他社事例を"自社仕様化"する技術_iRAFT法
daichi_yamashita
0
790
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
370
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
140
regrowth_tokyo_2025_securityagent
hiashisan
0
170
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
4.9k
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
510
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
160
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
120
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
3
810
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
660
Featured
See All Featured
Code Review Best Practice
trishagee
74
19k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Code Reviewing Like a Champion
maltzj
527
40k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Context Engineering - Making Every Token Count
addyosmani
9
490
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Faster Mobile Websites
deanohume
310
31k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
BigQuery テーブル最適化 2023/3/1 澤木 佑果
自己紹介 2 所属:セゾン情報システムズ DataSpider と PIMSYNC 維持開発担当 趣味:おいしいものを食べること(苺のお菓子が楽しみ)
BigQuery テーブルの最適化 3 テーブルの最適化はパフォーマンス向上だけでなくコスト削減に繋がる BigQueryはクエリ実行時のテーブルのスキャン量に応じてコストが発生する スキャン量はクエリに指定したカラムのデータ量で決まる クエリに指定するカラムを最低限にすることのほかに、 テーブルのパーティション分割やクラスタ化することでスキャン量を削減できる
パーティション分割 4 パーティション分割とは、特定のカラムの値をもとに内部的に分割された テーブルを作成すること 例えば日付カラムをパーティションキーに指定したテーブルに対して、 条件式にパーティションキーを指定したクエリを実行すると、 条件に当てはまる分割テーブルのみスキャンする ここだけ スキャン
パーティション分割 設定方法 5 テーブル作成時にパーティションキーとするカラムを指定する コンソール画面からも指定できる [Google Cloud]分割テーブルの作成
パーティション分割 スキャン量の比較 6 クエリ実行前の予測からスキャン量が減少していることがわかる 分割していないテーブル パーティション分割したテーブル
クラスタリング 7 クラスタリングとは、特定のカラムの値をもとに内部的にテーブルデータを ソートすること 文字列カラムをクラスタ化したテーブルに対して、条件式にクラスタ化したカラ ムを指定したクエリを実行したとき、条件に当てはまる範囲をスキャンする [Google Cloud]クラスタ化テーブルの概要
クラスタリング 設定方法 8 テーブル作成時にクラスタ化するカラムを指定する コンソール画面からも指定できる [Google Cloud]クラスタ化テーブルの作成と使用
クラスタリング スキャン量の比較 9 クエリ実行結果からスキャン量が減少していることがわかる クラスタ化していないテーブル クラスタ化したテーブル
さいごに 10 • 要件によって使い分けができる • 事前にスキャン量を知りたいか • 指定したいカラムのデータ型 • 一つのテーブルで両方使うこともできるので、きめ細かい並び替えが可能
クエリに合わせたテーブル設計が大切!