割り当てと上限

このページでは、Cloud Firestore のリクエストの割り当てと上限について説明します。

無料の割り当て

Cloud Firestore では費用をかけずに使い始めることができるよう、無料の割り当てが用意されています。無料の割り当ての容量は以下のとおりです。割り当てがさらに必要な場合は、Cloud Platform プロジェクトに対する課金を有効にする必要があります。

割り当ては日単位で適用され、太平洋時間の午前 0 時頃にリセットされます。

無料枠 割り当て
保存データ 1 GiB
ドキュメントの読み取り 50,000/日
ドキュメントの書き込み 20,000/日
ドキュメントの削除 20,000/日
ネットワーク(下り) 10 GiB/月

標準的な制限と上限

次の表は、Cloud Firestore の使用量に適用される制限と上限を示しています。

コレクション、ドキュメント、およびフィールド

制限と上限 詳細
コレクション ID の制約
  • 有効な UTF-8 文字でなければなりません。
  • 1,500 バイト以下にする必要があります。
  • スラッシュ(/)は使用できません。
  • 1 つのピリオド(.)または 2 つのピリオド(..)のみで構成することはできません。
  • 次の正規表現とは照合できません: __.*__
サブコレクションの最大深度 100
ドキュメント ID に関する制約
  • 有効な UTF-8 文字でなければなりません。
  • 1,500 バイト以下にする必要があります。
  • スラッシュ(/)は使用できません。
  • 1 つのピリオド(.)または 2 つのピリオド(..)のみで構成することはできません。
  • 次の正規表現とは照合できません: __.*__
ドキュメント名の最大サイズ 6 KiB
ドキュメントの最大サイズ 1 MiB(1,048,576 バイト)
フィールド名の制約 有効な UTF-8 文字でなければなりません。
フィールド名の最大サイズ 1,500 バイト
フィールドパスの制約
  • フィールド名を 1 つのピリオド(.)で区切る必要があります。
  • フィールド名が以下の要件を満たしていない場合は、各フィールド名をバッククォートで囲む必要があります。
    • フィールド名に文字 a-zA-Z0-9、およびアンダースコア(_)だけが含まれている。
    • フィールド名の先頭文字が 0-9 以外である。
フィールドパスの最大サイズ 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() 呼び出しの最大数
    • 単一ドキュメントに対するリクエストとクエリ リクエストの場合は 10。
    • 複数のドキュメントに対する読み取り、トランザクション、一括書き込みの場合は 20。各オペレーションには、前述の上限(10)も適用されます。

      たとえば、3 つの書き込みオペレーションを含めた一括書き込みリクエストを作成するとします。セキュリティ ルールでは、ドキュメントに対する 2 件のアクセス呼び出しを使用して、それぞれの書き込みを検証します。この場合、各書き込みオペレーションがアクセス呼び出し制限数 10 のうちの 2 つを使用するため、一括書き込みリクエストはアクセス呼び出し制限数 20 のうちの 6 つを使用することになります。

    いずれかの上限を超えると、アクセス拒否のエラーが発生します。

    一部のドキュメントに対するアクセス呼び出しはキャッシュされる場合があります。キャッシュされた呼び出しは上限数に計上されません。

    関数の呼び出しの深さの最大数 20
    関数の再帰的な呼び出し、または循環的な呼び出しの最大数 0(許可されていません)
    リクエストあたりの式評価の最大数 1,000
    ルールセットの最大サイズ 64 KB

    使用量のモニタリング

    Cloud Firestore の日次使用量は、[App Engine の割り当て] ページで確認できます。

    [割り当て] ページに移動

    このページは役立ちましたか?評価をお願いいたします。

    フィードバックを送信...