BigQueryとCloud Storageのコストはどれくらい違うのか
BigQueryの履歴データをCloud Storageでアーカイブすべきか悩んでおり、Cloud Storageにどれくらいコストメリットがあるのかを調査した、
当初はアーカイブデータはGCSにエクスポートする想定だったが、BigQueryと大きくストレージ料金が変わらないのであればBigQueryに保存でもいい気がしたのでストレージコストを調べた。
結論から言えば、スタンダートなストレージ料金は同じ。ストレージクラスが多いぶん、Cloud Storageの方がコストメリットがあるとは言える。
ただ、BigQueryにも長期保存クラスはあるようなので、圧倒的にCloud Storageが安いということもなさそう。
BigQuery
参考:https://cloud.google.com/bigquery/pricing?hl=ja
ちなみに、長期保存は連続して90日間アクセスがないテーブルに対して自動的に適用されるそう。
Cloud Storage
参考:https://cloud.google.com/storage/pricing?hl=ja#asia
※無料枠は米国リージョンで5GB/月
今回のユースケースではあまり関係ないけど、無料枠はBigQueryより少なめ。
BigQueryよりストレージクラスが豊富だけど、現状だとアクセス頻度が読めないからライフサイクルポリシーを設定するのは難しそう。
BigQueryのデータはBigQueryでアーカイブした方がいい?
公式ドキュメントによると、まずは、BigQueryのデータはBigQueryでアーカイブすることを検討した方がいい。理由はBigQuery→Cloud Storage間で料金が発生するから。(Cloud Storage→BigQueryは無料らしい)
また、過去データは集計して保存することによってストレージ料金が減らせないかも検討した方がいいと書いてある。(DWHの役割としては時系列データにいつでも(恒常的に)アクセスできるということもあるから、これはいかがなものかと感じた。)
それでもあまりにもアクセスされないようならCloud Storageに保存することを考えてもいいみたい。
参考:https://cloud.google.com/bigquery/docs/best-practices-storage?hl=ja
一旦はBigQuery内で保存して、アクセスがあまりにもないようであればCloud Storageの活用も検討してみよう。