LoginSignup
30
29

More than 5 years have passed since last update.

(2016年7月)GAE Datastore writeのコストが下がってるか試してみた

Last updated at Posted at 2016-07-07

2016/7/1からCloud Datastore(GAEのDatastore)の課金体系が変わりました。

従来はオペレーション単位で課金されていて、例えば1エンティティ書き込んだとしてもsingle property indexやcustom indexの書き込みも同時に課金されていましたが、新体系ではエンティティ単位での課金になると言います。

これが本当ならばセコセコとプロパティにnoindexつけて課金を節約する、というバッドノウハウは不要になる!素晴らしい!1
\(^o^)/

詳細は下記URLを参照。

英語版のみ「New Cloud Datastore Pricing Starting July 1st, 2016」というところに書かれています。日本語版は未だ古い情報のみ。GCPはドキュメント翻訳がいつも遅いですよね・・・
(´・ω・`)

引用:
スクリーンショット 2016-07-07 9.24.34.png

従来writeオペレーションは$0.06/100,000opeでエンティティのputには最低2ope必要だった為、完全にnoindexedなエンティティの場合は従来の方が少しだけ安くなりますが、少しでもindexはると新体系の方が安くなりますね。indexの利便性を考えると今後はnoindexedにする理由は殆どなくなるかな。。

Deleteがかなり安くなったのも嬉しいですね。今までストレージコストに対してDeleteコストが高すぎて古いエンティティを残しておくか悩ましかったのですが、今後は積極的に削除してもよいかもしれないです。

あと、ドキュメントを読んで、一点気になることが・・・

インデックス書き込みが無料になる様ですがsingle property indexのみなのか、custom indexも対象になるのかはっきりとは書かれてませんでした。

試して見た

モデル

// indexなし
type NoIndex struct {
    Name   string    `datastore:",noindex"`
    Value  int       `datastore:",noindex"`
    Values []string  `datastore:",noindex"`
    Time   time.Time `datastore:",noindex"`
}

// single property indexのみ
type SinglePropIndex struct {
    Name   string
    Value  int
    Values []string
    Time   time.Time
}

// custom index
type CustomIndex struct {
    Name   string
    Value  int
    Values []string
    Time   time.Time
}

インデックス定義

index.yaml

indexes:

- kind: CustomIndex
  properties:
  - name: Value
  - name: Values
  - name: Name
  - name: Time

- kind: CustomIndex
  properties:
  - name: Value
  - name: Name
  - name: Time

それぞれ300,000件ずつPutしました。

結果

全てのモデルのPutが下記コストでした。

Datastore Entity Writes

Usage 0.30 Million Ops
Billable 0.28
Price $1.80 / Million Ops
Cost $0.50

ちゃんと新体系のコストで課金されてました。
これは安い嬉しい!\(^o^)/

しかもカスタムインデックスも無料みたい!?
インデックス貼り間違えてインデックス爆発起こしても無料ってことでしょうか。。
すごい!Google太っ腹!!\(^o^)/

値下げ自体もとても嬉しいですが、初心者の人が「思ったよりも課金されちゃってる、なんで(´・ω・`)」という状況に陥る大きな罠が一つなくなったのが何よりですね(^_^)


  1. オペレーションに比べるとかなり安いですが、ストレージコストはインデックス分余計に発生するので、その点に関してはnoindexedは意味があります 

30
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
29