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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
220
BigQuery Studio
yu_sa18
0
480
【Google Cloud】組織なしプロジェクトを組織へ移行する
yu_sa18
0
400
DataFusionのネットワークでつまづいたはなし
yu_sa18
0
610
Datastream for BigQuery を使ってみた
yu_sa18
0
430
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
200
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
120
Agent Skils
dip_tech
PRO
0
130
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
600
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
460
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
400
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
We Have a Design System, Now What?
morganepeng
54
8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
390
The Curse of the Amulet
leimatthew05
1
8.7k
Balancing Empowerment & Direction
lara
5
900
Building an army of robots
kneath
306
46k
Git: the NoSQL Database
bkeepers
PRO
432
66k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
Transcript
BigQuery テーブル最適化 2023/3/1 澤木 佑果
自己紹介 2 所属:セゾン情報システムズ DataSpider と PIMSYNC 維持開発担当 趣味:おいしいものを食べること(苺のお菓子が楽しみ)
BigQuery テーブルの最適化 3 テーブルの最適化はパフォーマンス向上だけでなくコスト削減に繋がる BigQueryはクエリ実行時のテーブルのスキャン量に応じてコストが発生する スキャン量はクエリに指定したカラムのデータ量で決まる クエリに指定するカラムを最低限にすることのほかに、 テーブルのパーティション分割やクラスタ化することでスキャン量を削減できる
パーティション分割 4 パーティション分割とは、特定のカラムの値をもとに内部的に分割された テーブルを作成すること 例えば日付カラムをパーティションキーに指定したテーブルに対して、 条件式にパーティションキーを指定したクエリを実行すると、 条件に当てはまる分割テーブルのみスキャンする ここだけ スキャン
パーティション分割 設定方法 5 テーブル作成時にパーティションキーとするカラムを指定する コンソール画面からも指定できる [Google Cloud]分割テーブルの作成
パーティション分割 スキャン量の比較 6 クエリ実行前の予測からスキャン量が減少していることがわかる 分割していないテーブル パーティション分割したテーブル
クラスタリング 7 クラスタリングとは、特定のカラムの値をもとに内部的にテーブルデータを ソートすること 文字列カラムをクラスタ化したテーブルに対して、条件式にクラスタ化したカラ ムを指定したクエリを実行したとき、条件に当てはまる範囲をスキャンする [Google Cloud]クラスタ化テーブルの概要
クラスタリング 設定方法 8 テーブル作成時にクラスタ化するカラムを指定する コンソール画面からも指定できる [Google Cloud]クラスタ化テーブルの作成と使用
クラスタリング スキャン量の比較 9 クエリ実行結果からスキャン量が減少していることがわかる クラスタ化していないテーブル クラスタ化したテーブル
さいごに 10 • 要件によって使い分けができる • 事前にスキャン量を知りたいか • 指定したいカラムのデータ型 • 一つのテーブルで両方使うこともできるので、きめ細かい並び替えが可能
クエリに合わせたテーブル設計が大切!