このガイドでは Cloud Firestore の制限について説明します。Cloud Firestore の費用の詳細については、Cloud Firestore の料金をご覧ください。
使用量をモニタリングする
Cloud Firestore の使用量をモニタリングするには、Firebase コンソールで Cloud Firestore の [使用状況] タブを開きます。ダッシュボードを使用して、異なる期間の使用量を比較できます。
Google Cloud Platform Console での使用量の詳細
Firebase プロジェクトを作成すると、Google Cloud Platform にもプロジェクトが作成されます。Cloud Platform Console の App Engine の割り当てページで、Cloud Firestore の使用状況と割り当て情報を追跡できます。
無料の割り当て
Cloud Firestore では費用をかけずに使い始めることができるよう、無料の割り当てが用意されています。無料の割り当ての容量は以下のとおりです。割り当てがさらに必要な場合は、Cloud Platform プロジェクトに対する課金を有効にする必要があります。
割り当ては日単位で適用され、太平洋時間の午前 0 時頃にリセットされます。
無料枠 | 割り当て |
---|---|
保存データ | 1 GiB |
ドキュメントの読み取り | 50,000/日 |
ドキュメントの書き込み | 20,000/日 |
ドキュメントの削除 | 20,000/日 |
ネットワーク(下り) | 10 GiB/月 |
標準的な制限
次の表は、Cloud Firestore の使用量に適用される制限を示しています。
コレクション、ドキュメント、およびフィールド
制限 | 詳細 |
---|---|
コレクション ID の制約 |
|
サブコレクションの最大深度 | 100 |
ドキュメント ID に関する制約 |
|
ドキュメント名の最大サイズ | 6 KiB |
ドキュメントの最大サイズ | 1 MiB(1,048,576 バイト) |
フィールド名の制約 | 有効な UTF-8 文字でなければなりません。 |
フィールド名の最大サイズ | 1,500 バイト |
フィールドパスの制約 |
|
フィールドパスの最大サイズ | 1,500 バイト |
フィールド値の最大サイズ | 1 MiB - 89 バイト(1,048,487 バイト) |
マップまたは配列内のフィールドの最大深度 | 20 |
書き込みとトランザクション
制限 | 詳細 |
---|---|
API リクエストの最大サイズ | 10 MiB |
データベースあたりの最大書き込み回数/秒 | 10,000(最大 10 MiB/秒) |
ドキュメントへの最大書き込み速度 | 1 秒あたり 1 |
コレクションへの最大書き込み速度(コレクションに含まれているドキュメントのインデックス付きフィールドには順次値が含まれている) | 1 秒あたり 500 |
Commit オペレーションに渡すか、トランザクションで実行することができる書き込みの最大数 |
500 |
Commit オペレーションまたはトランザクションで 1 件のドキュメントで実行できるフィールド変換の最大数 |
500 |
トランザクションの時間制限 | 270 秒 + 60 秒のアイドル時間 |
リアルタイム アップデート
制限 | 詳細 |
---|---|
データベースあたりのモバイル / ウェブ クライアントの最大同時接続数 | 1,000,000 |
インデックス
以下の制限は、単一フィールド インデックスと複合インデックスに適用されます。
制限 | 詳細 |
---|---|
データベース 1 つあたりの複合インデックスの最大数 | 200 |
データベース 1 つあたりの単一フィールド インデックス除外の最大数 | 200 |
ドキュメントごとのインデックス エントリの最大数 |
40,000 インデックス エントリの数は、ドキュメントに関する次の数の合計です。
|
インデックス エントリの最大サイズ |
7.5 KiB Cloud Firestore でインデックス エントリのサイズを計算する方法については、インデックス エントリのサイズをご覧ください。 |
ドキュメントのインデックス エントリの最大合計サイズ |
8 MiB 合計サイズは、ドキュメントに関する次の数の合計です。 |
インデックス登録されるフィールド値の最大サイズ |
1,500 バイト 1,500 バイトを超えるフィールド値は切り捨てられます。切り捨てられたフィールド値が含まれるクエリでは、結果が矛盾する場合があります。 |
セキュリティ ルール
制限 | 詳細 |
---|---|
リクエストあたりの exists() 、get() 、getAfter() 呼び出しの最大数 |
いずれかの制限を超えると、アクセス拒否のエラーが発生します。 一部のドキュメントに対するアクセス呼び出しはキャッシュされる場合があります。キャッシュされた呼び出しは制限数に計上されません。 |
関数の呼び出しの深さの最大数 | 20 |
関数の再帰的な呼び出し、または循環的な呼び出しの最大数 | 0(許可されていません) |
リクエストあたりの式評価の最大数 | 1,000 |
ルールセットの最大サイズ | 64 KB |
費用を管理する
想定外の請求を回避するには、費用制限とアラートを設定します。
1 日あたりの費用制限を設定する
Cloud Firestore の使用量の上限を設定するには、Google App Engine を使用して 1 日あたりの費用制限を設定します。App Engine では、Cloud Firestore などの App Engine 関連のリソースに、1 日あたりの費用制限を設定できます。App Engine での制限は、他の Firebase プロダクトには適用されません。
- Cloud Platform Console でプロジェクトの課金を有効にします(まだ有効にしていない場合)。
- Cloud Platform Console で App Engine アプリケーションの設定ページに移動します。
- [編集] をクリックし、1 日の使用量に制限を設定します。
- [保存] をクリックします。新しい制限はすぐに有効になり、毎日リセットされます。
1 か月の予算を設定する
Cloud Firestore のコストを追跡するには、Cloud Platform Console で 1 か月の予算を作成します。予算によって使用量が制限されることはありませんが、その月の計画コストに近づいた場合や超えた場合に通知するアラートを設定できます。
予算を設定するには、Cloud Platform Console の [お支払い] セクションに移動し、請求先アカウントの予算を作成します。デフォルトのアラート設定を使用するか、1 か月の予算の割合ごとに通知を送信するようにアラートを変更することができます。
詳細については、Cloud Platform Console での予算の設定をご覧ください。