【GCP】BigQueryの物理ストレージ(課金モデル)への移行について

# はじめに
初のGCPネタです
BigQueryというサービスがあるのですが、2023/7/5より従来の論理ストレージだけでなく、
物理ストレージも課金方法として選択できるようになったようです。
今回は論理ストレージとの違いや、論理ストレージから物理ストレージへの設定変更方法や注意点について紹介してみます。

# 目次
<!-- タイトルとアンカー名を編集 -->
1. [論理ストレージとの違い](#論理ストレージとの違い)
1. [物理ストレージ変更後に論理ストレージに戻せるのか](#物理ストレージ変更後に論理ストレージに戻せるのか)
1. [変更方法](#変更方法)
1. [確認方法](#確認方法)
1. [さいごに](#さいごに)

<!-- 各チャプター -->
<a id="#Chapter1"></a>
# 論理ストレージと物理ストレージの違い
そもそも物理ストレージとどう違うのかって話ですが、簡単に言うと課金されるタイミングが違います。
* 論理ストレージ(Logical storage)
  保存されたデータを圧縮する前のサイズに基づいて課金額が決まる
* 物理ストレージ(Physical storage)
　保存されたデータの圧縮後のサイズに基づいて課金額が決まる
　データを圧縮することで***12分の１程度***まで小さくなるようです
【参考】：https://cloud.google.com/blog/products/data-analytics/introducing-new-bigquery-pricing-editions?hl=en
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/ff2d5162-698e-296d-ba8d-171894b50bf3.png)


単純に比べると物理ストレージに変更することで料金が安くなるように見えますが注意点があります。それは単価の違いです。
物理ストレージは１GiBあたりの料金が論理ストレージの**2倍以上**となってます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/22316940-2c71-5527-97d7-5f0d82991b16.png)
そのため、物理ストレージに移行すれば必ず安くなるというわけでないのでご注意ください。

<a id="#Chapter2"></a>
# 物理ストレージ変更後に論理ストレージに戻せるのか
以下の公式ドキュメントの日本語版を見るとこのように書かれています。
https://cloud.google.com/bigquery/docs/datasets-intro?hl=ja#dataset_storage_billing_models
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/5ea1fde5-e4ff-4662-001e-9105b6232815.png)
しかし、英語版はこうなってます
「***Once you change a dataset's storage billing model, you must wait 14 days before you can change the storage billing model again.***」
翻訳：「データセットのストレージ課金モデルを変更した後、ストレージ課金モデルを再度変更できるようになるまで 14 日間待つ必要があります。」

どうやらストレージを物理ストレージに変更できそうなことが書いてありますね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/dabccf90-a79d-6783-6dd0-7c137a382675.png)

どっちやねんってなりますが、英語版の表記が正しいようです。
(Googleサポートに確認済み)

その他の項目でも日本語版と英語版で表記に違いがある場合がありますが、その際は英語版を参考にするようにしてください。日本語版はアップデートが追い付いていないだけかと思われます。

<a id="#Chapter2"></a>
# 変更方法
変更方法はSQL,API,BQ CLIを使った3種類の方法があり、今回はBQCLIの方法を紹介します。
BQCLI以外の方法は以下のドキュメントに記載がありますのでご参考までに。
https://cloud.google.com/bigquery/docs/updating-datasets?hl=ja#update_storage_billing_models



課金モデルの変更はデータセットごとにコマンドを実行します。
```bqcliストレージ課金モデルの変更.txt
bp update -d --storage_billing_lmodel=PYSHICAL プロジェクトID:データセットID
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/636973a0-ae72-f2d2-f98f-eaef1c79d3b8.png)

『***succesfully updated』*** のメッセージとともに更新が完了しました


<a id="#reference"></a>
# 確認方法
確認方法はコンソール上で行う方法とCLIの2種類があります。
```check_storaga_type.txt
bq show --format=prettyjson プロジェクトID:データセット名
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/a1e72e2f-265d-e973-fb8c-cfa9965d2349.png)
ストレージタイプが***PHYCICAL***(物理ストレージ)になっていることが確認できました

コンソール画面でも確認してみます。
「データセット名」を選択し、「データセット情報」を表示します。
「ストレージの課金モデル」という項目が追加され、「PHYSICAL」と表記されていることが確認できました。
※論理ストレージの場合は「データセット情報」に表示されないようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2615865/a869c24e-3724-68cc-6cb0-8e476a4eb2e8.png)


<a id="#reference"></a>
# さいごに
半年ぶりのQiita投稿&初のGCP記事でした。
物理ストレージへの変更は料金に直接影響が出る内容かと思います。
また、最近アップデートされたばかりなのでまだ日本語の情報が少なく、対応を検討している方も多いのでは？と思い書いてみました！この記事がどこかの誰かの役に少しでも立ってくれたらうれしいです。

今回はここまでとなります。
最後まで読んでいただきありがとうございました！