B-Teck!

お仕事からゲームまで幅広く

【Firebase】Realtime DatabaseとCloud Firestoreの料金体系などを調べた

アプリ上でリアルタイム情報を取り扱う要件があり、手頃な選択肢としてRealtime DatabaseとCloud Firestoreが上がったので、検討のため料金体系や制限を調べてみた。
前提知識がほぼなかったこともあり、散らばっていたドキュメントを追いかけるのが大変だった。
同じようにとりあえずの情報を求めている人の助けになれば。

プランの説明

そもそもFirebaseにはいくつかのプランがある。ここでとりあげるのは無料で使えるプランと法人利用のプラン。
大規模システムで利用するためのプランもあるものの、スコープ外なので言及しない。

Sparkプラン

無料で利用できるプラン。
デフォルトはこのプランになっている。
このプランでもモノによってはそこそこ使えるが、制限が厳しいものも有る。

Blazeプラン

有料利用登録することで利用できるプラン。
月額で利用料がかかるわけではなく、Sparkプランで利用していた無料枠を超過した分が従量課金される。

Realtime DatabaseとCloud Firestoreの比較

Realtime Database

Sparkプランだと100人までの同時接続制限があるが、Blazeプランにすると開放される。
開放された同時接続数自体は特に料金はかからない。
リクエスト回数に関係なく通信・保管するデータ量で課金されるため、小さいデータを頻繁にやり取りするサービスに向いている。
複雑なデータ検索やスケーリングはできない。
データ構造のベースがjsonなのでデータのコピーや加工、移動が比較的簡単にできる。

料金

Sparkプラン(無料枠)
同時接続 : 100人
ストレージ : 1GB
帯域利用(読み書き) : 10 GB/月
Blazeプラン(従量課金)
同時接続 : 20万人
ストレージ : Sparkにプラスして $1/1GB
帯域利用(読み書き) : Sparkにプラスして $5/1GB 

Cloud Firestore

無料枠でも同時接続数が制限されていない。
書き込み(削除も含む)、読み込みの回数、ストレージで料金が決まる。
比較的大きなデータを保管している場合は帯域で料金のかからないこちらが適している。
Realtime Databaseより若干可用性が高いらしい。

料金

Sparkプラン(無料枠)
同時接続 : 1000000人
ストレージ : 合計 1GiB
読み取り : 50000回/日
書き込み : 20000回/日
削除 : 20000回万/日
Blazeプラン(従量課金)
ストレージ : $0.18/GiB
読み取り : Sparkにプラスして $0.18/10万回
書き込み : Sparkにプラスして $0.06/10万回
削除 : Sparkにプラスして $0.02/10万

参考