BigQueryテーブル最適化
by
yu_sa18
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
BigQuery テーブル最適化 2023/3/1 澤木 佑果
Slide 2
Slide 2 text
自己紹介 2 所属:セゾン情報システムズ DataSpider と PIMSYNC 維持開発担当 趣味:おいしいものを食べること(苺のお菓子が楽しみ)
Slide 3
Slide 3 text
BigQuery テーブルの最適化 3 テーブルの最適化はパフォーマンス向上だけでなくコスト削減に繋がる BigQueryはクエリ実行時のテーブルのスキャン量に応じてコストが発生する スキャン量はクエリに指定したカラムのデータ量で決まる クエリに指定するカラムを最低限にすることのほかに、 テーブルのパーティション分割やクラスタ化することでスキャン量を削減できる
Slide 4
Slide 4 text
パーティション分割 4 パーティション分割とは、特定のカラムの値をもとに内部的に分割された テーブルを作成すること 例えば日付カラムをパーティションキーに指定したテーブルに対して、 条件式にパーティションキーを指定したクエリを実行すると、 条件に当てはまる分割テーブルのみスキャンする ここだけ スキャン
Slide 5
Slide 5 text
パーティション分割 設定方法 5 テーブル作成時にパーティションキーとするカラムを指定する コンソール画面からも指定できる [Google Cloud]分割テーブルの作成
Slide 6
Slide 6 text
パーティション分割 スキャン量の比較 6 クエリ実行前の予測からスキャン量が減少していることがわかる 分割していないテーブル パーティション分割したテーブル
Slide 7
Slide 7 text
クラスタリング 7 クラスタリングとは、特定のカラムの値をもとに内部的にテーブルデータを ソートすること 文字列カラムをクラスタ化したテーブルに対して、条件式にクラスタ化したカラ ムを指定したクエリを実行したとき、条件に当てはまる範囲をスキャンする [Google Cloud]クラスタ化テーブルの概要
Slide 8
Slide 8 text
クラスタリング 設定方法 8 テーブル作成時にクラスタ化するカラムを指定する コンソール画面からも指定できる [Google Cloud]クラスタ化テーブルの作成と使用
Slide 9
Slide 9 text
クラスタリング スキャン量の比較 9 クエリ実行結果からスキャン量が減少していることがわかる クラスタ化していないテーブル クラスタ化したテーブル
Slide 10
Slide 10 text
さいごに 10 • 要件によって使い分けができる • 事前にスキャン量を知りたいか • 指定したいカラムのデータ型 • 一つのテーブルで両方使うこともできるので、きめ細かい並び替えが可能 クエリに合わせたテーブル設計が大切!