BigQueryのLong Term Storageが高いなーとおもったので可視化と解決した

image

BigQueryを使う頻度が増えてきた事もあり、一度コストをしっかりみるかと思い。見たことがきっかけ。

とりあえず9月から増えだした事は理解

そもそもLong term storageって?

Long-term storage includes any table or table partition that has not been modified for 90 consecutive days. The price of storage for that table automatically drops by approximately 50%. There is no difference in performance, durability, or availability between active and long-term storage.

90日連続して変更されていないテーブル(またはパーティション)

もうツールを作成して少し調べてみた

INFORMATION_SCHEMAを用いたBigQueryのストレージ無駄遣い調査 - ZOZO TECH BLOG

こんにちは、 『地球の歩き方ムー』創刊のニュース に心を踊らせている、データ基盤ブロックの塩崎です。 本記事では、データ基盤の管理者としてBigQueryのストレージコストの削減に取り組んだ事例を紹介します。 ZOZOのデータ基盤として利用されているBigQueryは、非常にパワフルなDWH(Data WareHouse)です。しかし、それ故に利用者の意図しないところで費用が高騰することもしばしば発生します。よく問題になるのはクエリ費用の高騰であり、以下のQiita記事はBigQuery利用者の中でも有名です。 このクエリ費用の高騰に対し、我々データ基盤ブロックはこれまでに、いくつもの方法で対処してきました。具体的な取り組みの一部は以下の記事で紹介しているので、併せてご覧ください。 しかし、BigQueryの費用はクエリに関するもののみではありません。以下のドキュメントによると、BigQueryの費用はクエリに関する費用(Analytis)とストレージに関する費用(Storage)の2つがメインであることが分かります。 BigQuery pricing has two main components: Analysis pricing is the cost to process queries, including SQL queries, user-defined functions, scripts, and certain data manipulation language (DML) and data definition language (DDL) statements that scan tables.

INFORMATION_SCHEMAを用いたBigQueryのストレージ無駄遣い調査 - ZOZO TECH BLOG

が役に立ちました。

  1. この記事内に書かれているスクリプトを Colab で実行してBQにテーブルを作成して集約
  2. Looker(旧Data Studio)で可視化

image

調べてみるとテーブル数が多い。このテーブルはシャーディング( _yyyymmmdd

更に7月まではシャーディングで取得していたけど、このタイミングからdbtなどで取得方法が変わっていて、シャーディングテーブルはつくられなくなっていた。

原因は特定できたので、あとは消すか消さないか。消すにしてもすべて消すか一部残すか。利用用途など色々確認した結果不要と判断したので、削除することにしました

削除編

SELECT
 CONCAT("bq rm -f -t ",table_schema,".",   table_name, ";" )
 FROM `<project_id>.<dataset>`.INFORMATION_SCHEMA.TABLES
 WHERE 
   table_name LIKE "<ここにprefix>_%"
ORDER BY table_name

これで削除コマンドが出力されるのであとは実行するだけでした。

image

結果1番先頭のテーブルは残りましたが、それ以外はスッキリしました。コストとしても数百ドル下がる結果ととなりました。もしBQのコストにお悩みの方がいたら参考にしていただければと思いました。

INFORMATION_SCHEMAを用いたBigQueryのストレージ無駄遣い調査 - ZOZO TECH BLOG

こんにちは、 『地球の歩き方ムー』創刊のニュース に心を踊らせている、データ基盤ブロックの塩崎です。 本記事では、データ基盤の管理者としてBigQueryのストレージコストの削減に取り組んだ事例を紹介します。 ZOZOのデータ基盤として利用されているBigQueryは、非常にパワフルなDWH(Data WareHouse)です。しかし、それ故に利用者の意図しないところで費用が高騰することもしばしば発生します。よく問題になるのはクエリ費用の高騰であり、以下のQiita記事はBigQuery利用者の中でも有名です。 このクエリ費用の高騰に対し、我々データ基盤ブロックはこれまでに、いくつもの方法で対処してきました。具体的な取り組みの一部は以下の記事で紹介しているので、併せてご覧ください。 しかし、BigQueryの費用はクエリに関するもののみではありません。以下のドキュメントによると、BigQueryの費用はクエリに関する費用(Analytis)とストレージに関する費用(Storage)の2つがメインであることが分かります。 BigQuery pricing has two main components: Analysis pricing is the cost to process queries, including SQL queries, user-defined functions, scripts, and certain data manipulation language (DML) and data definition language (DDL) statements that scan tables.

INFORMATION_SCHEMAを用いたBigQueryのストレージ無駄遣い調査 - ZOZO TECH BLOG

改めてになりますが、参考になりました感謝です。

他の記事

PageTagDate
BigQueryのLong Term Storageが高いなーとおもったので可視化と解決した
Data雑メモ
より早く高いアウトカムを実現するために、ソフトウェアの状態に向きあった結果モジュラモノリスと向き合い始めた
Spir
December 20, 2022
より早く高いアウトカムを実現するために、プロダクトマネジメントの型に投資する大切さ
Spirプロダクトマネジメント
December 5, 2022
個人でサービスを作るとしたら今ならこうかな(2022年版)
雑メモ
August 19, 2022
2021年11月末に退任してから4ヶ月の間たちました....
March 27, 2022
一つのIdP(AzureAD)で複数のGoogle WorkspaceにSAML連携してみた
雑メモコーポレートエンジニア
January 31, 2022
約2年間の在宅勤務で試行錯誤した音に関する環境変化
雑メモ
January 13, 2022
もしスタートアップ初期からJOINするとしたら(2022版)
雑メモCTOコーポレートエンジニア
December 24, 2021
35歳になる2022年から
雑メモ
December 18, 2021
コーポレートエンジニア振り返り(仮)
雑メモコーポレートエンジニア
December 16, 2021
約5年間のCTOというロールを終えて、そしてこれから
CTO
December 6, 2021
自由って難しい
雑メモ
November 21, 2021
改めて「コミュニケーション」とはを素人ながら考えてみた
コミュニケーション雑メモ
November 11, 2021
.devに「2021年も終わるので、0からREST APIを作るならどうしようかなを考えてみた(Go編)」を書いた
.devGo
November 7, 2021
WHY? WHY? WHY?
コミュニケーション雑メモ
November 4, 2021
Notionで公開してるブログにCloudflare Web Analyticsを導入してみた
May 26, 2021
Notionにcustom domainを当てたい
May 23, 2021
過去3回iPadを手放してることもあって、iPad Airを悩んでたけど。購入したらそれ以外に選択肢ないんじゃくらい満足してると言いたい。
January 15, 2021 10:00 PM (GMT+9)
もしスタートアップ初期からJOINするとしたら
December 15, 2020 12:00 PM (GMT+9)
Cloudflareに変更してドメインもついでにかえた
November 18, 2020 11:00 PM (GMT+9)
Work From Home(テレワーク)が始まってもう10ヶ月経過したので仕事場を振り返ってみた
November 11, 2020 6:00 AM (GMT+9)
アジャイル的に知識のアップデートをしてます
November 10, 2020 1:00 AM (GMT+9)
Hello Notion Blog
November 9, 2020 11:00 PM (GMT+9)
2020年これから
January 2, 2020
2019年時点のレジュメ
雑メモコミュニケーション
March 21, 2019