Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

マテリアライズドビューの更新機能をBigQueryで実装する #21

Closed
takegue opened this issue Jul 18, 2022 · 0 comments
Closed

Comments

@takegue
Copy link
Owner

takegue commented Jul 18, 2022

BigQuery の Materialized Viewの概要

マテリアライズドビューは、SQLによる定義を与えると、参照元の更新時刻よりデータ更新を自動的に行う仕組み。

  • 事前計算により計算結果のキャッシュ機能として機能する. 計算リソースの削減
  • 参照元と参照先の更新日時の関係からデータが自動更新されるため、ワークフローに基づいたジョブ更新が不要

といったあたりでメリットがある。

詳細は以下を参照
https://cloud.google.com/bigquery/docs/materialized-views-intro?hl=ja#overview

BigQuery標準のマテリアライズドビューの問題点

  • SQLで対応する機能が限定的

    • 集計関数でつかえない機能が多い
    • arrayやstructといった型の機能が対応していない
  • パーティションのアライメント戦略も限定

    • 日付と1:1対応でなければならない
    • 日時 → 週次などの対応関係は作れない
  • BigQuery上のテーブルのpreview機能やBIサービスでデータ接続で不便

    • Data StudioのBI Engineの対象外

マテビューは強力な機能ではあるのだが、上記の点不満があり
モデリングを行う上で最初の選択肢になりづらい点で難しい。

マテビューの自作更新メリット

マテビューの問題点が解消され、利用用途が増える。
スケジュールクエリのみで実現可能なように作れば、ワークフローツールも不要でモデリングを進めることができる。
ツールへの依存を少なく作ることができるためモデリングのための第一候補にもあげやすい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant