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
150
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
Duet AI in BigQuery
yu_sa18
0
64
BigQuery Studio
yu_sa18
0
140
【Google Cloud】組織なしプロジェクトを組織へ移行する
yu_sa18
0
120
DataFusionのネットワークでつまづいたはなし
yu_sa18
0
260
Datastream for BigQuery を使ってみた
yu_sa18
0
330
Other Decks in Technology
See All in Technology
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
370
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
反実仮想機械学習とは何か
usaito
PRO
11
4.7k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
現代CSSフレームワークの内部実装とその仕組み
poteboy
7
3.6k
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
300
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.6k
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
260
データベース02: データベースの概念
trycycle
0
160
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
240
JAWS-UG Bedrock Claude Night
yamahiro
3
610
Featured
See All Featured
Done Done
chrislema
178
15k
Facilitating Awesome Meetings
lara
42
5.6k
GitHub's CSS Performance
jonrohan
1025
450k
Fireside Chat
paigeccino
21
2.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
4 Signs Your Business is Dying
shpigford
175
21k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
The Cult of Friendly URLs
andyhume
74
5.7k
Infographics Made Easy
chrislema
238
18k
How GitHub (no longer) Works
holman
304
140k
Why Our Code Smells
bkeepers
PRO
331
56k
Transcript
BigQuery テーブル最適化 2023/3/1 澤木 佑果
自己紹介 2 所属:セゾン情報システムズ DataSpider と PIMSYNC 維持開発担当 趣味:おいしいものを食べること(苺のお菓子が楽しみ)
BigQuery テーブルの最適化 3 テーブルの最適化はパフォーマンス向上だけでなくコスト削減に繋がる BigQueryはクエリ実行時のテーブルのスキャン量に応じてコストが発生する スキャン量はクエリに指定したカラムのデータ量で決まる クエリに指定するカラムを最低限にすることのほかに、 テーブルのパーティション分割やクラスタ化することでスキャン量を削減できる
パーティション分割 4 パーティション分割とは、特定のカラムの値をもとに内部的に分割された テーブルを作成すること 例えば日付カラムをパーティションキーに指定したテーブルに対して、 条件式にパーティションキーを指定したクエリを実行すると、 条件に当てはまる分割テーブルのみスキャンする ここだけ スキャン
パーティション分割 設定方法 5 テーブル作成時にパーティションキーとするカラムを指定する コンソール画面からも指定できる [Google Cloud]分割テーブルの作成
パーティション分割 スキャン量の比較 6 クエリ実行前の予測からスキャン量が減少していることがわかる 分割していないテーブル パーティション分割したテーブル
クラスタリング 7 クラスタリングとは、特定のカラムの値をもとに内部的にテーブルデータを ソートすること 文字列カラムをクラスタ化したテーブルに対して、条件式にクラスタ化したカラ ムを指定したクエリを実行したとき、条件に当てはまる範囲をスキャンする [Google Cloud]クラスタ化テーブルの概要
クラスタリング 設定方法 8 テーブル作成時にクラスタ化するカラムを指定する コンソール画面からも指定できる [Google Cloud]クラスタ化テーブルの作成と使用
クラスタリング スキャン量の比較 9 クエリ実行結果からスキャン量が減少していることがわかる クラスタ化していないテーブル クラスタ化したテーブル
さいごに 10 • 要件によって使い分けができる • 事前にスキャン量を知りたいか • 指定したいカラムのデータ型 • 一つのテーブルで両方使うこともできるので、きめ細かい並び替えが可能
クエリに合わせたテーブル設計が大切!