Help us understand the problem. What is going on with this article?

BigQuery の課金仕様と注意点をまとめてみた(2015-07 時点)

More than 5 years have passed since last update.

最初は安く収まっていた BigQuery の費用もだんだん膨らんできた :cry: ので、自分(社内)用にまとめたものです

  • 広告事業(アドネットワーク)のログを BigQuery に入れているので、それなりにデータ量も増えてきて、こういうことも考えていかないといけなくなってきました

どの操作にお金がかかるのか

  1. データを保存しておく
  2. データを Streaming Insert(≒ 追加)する
  3. データを走査して取得する
  4. クエリを発行する

データの保存

$0.020 per GB, per month

  • 1 TB を 1 ヶ月保持すると、$20 かかる

データの Streaming Insert

$0.01 per 100,000 rows until August 12, 2015. After August 12, 2015, $0.01 per 200 MB, with individual rows calculated using a 1 KB minimum size.

  • いまのところ、10 万行で $0.01 かかる
    • 1000 万行書いて $1
    • 100 億行書いて $1000
  • 補足:load 方式であれば、無料

データの取得

$5 per TB

  • 1 TB 走査すると $5 かかる

クエリの発行

ドキュメントからは確認できなかったが、明細には載っている

参考

Pricing - BigQuery — Google Cloud Platform

それと明細の対応はどうなってるのか

データ操作ごとの課金体系に照らすと

BigQuery ストレージ

データの保存に当たる
1 ヶ月平均 k TB 保持して、$20 * k かかってる

BigQuery Row Insert

Streaming Insert に当たる
m 億行を挿入して、$10 * m かかってる

BigQuery 分析(Analysis)

データの取得に当たる
n TB 走査して、$5 * n かかってる

カスタム検索 クエリ(Custom Search Queries)

2918 回発行して $15 かかってる

日付 内容 料金 ($)
2015/mm/01 - 2015/mm/26 Support Silver-level support cost: 150 Currency units(プロジェクト: MTBurn) $150.00
2015/mm/01 - 2015/mm/30 カスタム検索 クエリ: 2918 Counts(プロジェクト: MTBurn) $14.59
2015/mm/01 - 2015/mm/30 BigQuery ストレージ: k*1000 Gibibyte-months(プロジェクト: MTBurn) $20*k
2015/mm/01 - 2015/mm/30 BigQuery 分析: m Tebibytes(プロジェクト: MTBurn) $5*m
2015/mm/01 - 2015/mm/30 BigQuery Row Insert: n * 100000000 Counts(プロジェクト: MTBurn) $10*n
「2015/mm/01 - 2015/mm/30の合計」 $150 + $15 + $20*k + $5*m + $10*n

注意) 数字はぼかしました

補足

BigQuery ストレージ

GCS よりも安いので、purge はまだ検討段階にはない状態です

BigQuery Row Insert

老婆心ですが、今から(& 今でも) BigQuery を導入する場合は、まずは Streaming Insert ではなく Load 方式を検討するのが良いと思います

  • BigQuery Row Insert にかかる費用は挿入行が増えてくればそれなりのお値段にはなりますし、直近の障害も Streaming Insert に偏っているように思います
  • ただ、kaizenplatform/fluent-plugin-bigquery を使った fluentd からの Streaming Insert はすごく手軽なので、どちらも検討余地があります

BigQuery 分析(Analysis)

クエリを発行する際には、テーブルデコレータをかならず使いましょう(直近 7 日前までの走査範囲で良ければ)

根本的には、テーブルは日単位とか適切な粒度で分割しないと費用は膨らむ一方です

  • 一回のクエリ発行に数千 ~ 数万円になってしまいます

SELECT * の代わりに、カラムを明示的に指定することもマストといえます

Support Plan

Support Silver-level は $150 かかりますが、Streaming Insert を使っている場合は入ることをおすすめします

  • Streaming Insert はまだ不安定なので、こちらから問題に気づいて先方の障害対応に発展することがありました
  • 障害復旧のお知らせが来たあと、他のユーザーでは解消していることが、一部ユーザーには解消していないケースもあるので、そういう際にも対応してもらえます
  • Google エバンジェリストの佐藤さん(@kazunori279)に紹介してもらいましたが、入って良かったです

サポート サービス — Google Cloud Platform

yoheimuta
blog: https://yoheimuta.hatenablog.com twitter: https://twitter.com/yoheimuta career: https://www.wantedly.com/users/30494
https://github.com/yoheimuta
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした