Realtime Database の制限事項

Firebase Realtime Database のデータ保存とオペレーションに関する制限事項は次のとおりです。これらの上限を超えてスケーリングするには、複数のデータベースを使用します。

グローバル

オペレーション 上限 説明
同時接続 200,000*

データベースに接続している 1 台のモバイル デバイス、1 つのブラウザタブ、または 1 つのサーバーアプリを 1 つの同時接続としてカウントします。

この数値は、アプリを利用する合計ユーザー数にはなりません。すべてのユーザーがアプリに同時に接続するわけではないからです。たとえば、アプリの月間アクティブ ユーザー数が 1,000 万人の場合、同時接続数は通常 200,000 件未満です。最大同時接続数は、ユーザー数の合計とユーザーがアプリを使用する平均時間によって異なります。

ただし、この上限を超えてスケールする必要がある場合は、複数のデータベースを使用してください。

* Spark プランにおける同時接続数の上限は 100 です。

1 つのデータベースから同時に送信されるレスポンス 最大 100,000 件/秒 レスポンスには、所定の時間にサーバーが 1 つのデータベースから送信した同時ブロードキャストおよび読み取りオペレーションが含まれます。この上限は、データベースから送信される個々の読み取りオペレーションやブロードキャスト オペレーション(プッシュ通知を含む)を表すデータパケットに適用されます。このガイダンスは持続的な負荷に対するものですが、データベースは一時的に発生するバースト負荷も処理できます。
1 回の書き込みでトリガーされる Cloud Functions の数 1,000 個(Cloud Functions v2 の場合はリージョンあたり 500 個) 1 つの関数からトリガーできる読み取りオペレーションや書き込みオペレーションの数に上限はありませんが、1 回のデータベース書き込みオペレーションでトリガーできる関数は 1,000 個(Cloud Functions v2 の場合はリージョンあたり 500 個)です。

Cloud Functions の関数をトリガーできるのは書き込みオペレーションに限られます。各関数から書き込みオペレーションをトリガーし、それらの書き込みオペレーションによってさらに関数をトリガーすることもできます(それぞれに 1,000 個またはリージョンあたり 500 個の関数上限があります)。

書き込みによってトリガーされる単一のイベントのサイズ 1 MB イベントのサイズは次の値で構成されます。
  1. 書き込み場所にある既存のデータ。
  2. 更新値、または新しいデータを書き込み場所に書き込むために必要なデータのデルタ。
1 MB を超える書き込みオペレーションはデータベース上では成功しますが、関数呼び出しをトリガーしません。
Cloud Functions へのデータ転送 10 MB/秒(サステインド) Cloud Functions に転送可能なイベントデータのレート。

データツリー

プロパティ 上限 説明
子ノードの最大深度 32 データツリー内の各パスの深さは、32 レベル未満にしてください。
キーの長さ 768 バイト キーは UTF-8 でエンコードされ、改行や次の文字を含めることはできません。
$、#、[、]、/、または任意の ASCII 制御文字(0x00~0x1F と 0x7F)
文字列の最大サイズ 10 MB データは UTF-8 でエンコードされます。

読み取り

説明 上限 メモ
データベースで処理される 1 つのレスポンスのサイズ 256 MB データベースの 1 つの場所からダウンロードするデータのサイズは、読み取りオペレーションあたり 256 MB 未満でなければいけません。

大きな場所で読み取りオペレーションを実行するには、次のいずれかのオプションを試してください。

リスナーまたはクエリを持つパス内のノード数の合計 7,500 万個* 累積ノード数が 7,500 万を超えるパスをリッスンまたはクエリすることはできません。ただし、子ノードをリッスンまたはクエリすることはできます。パスのより深いレベルまでドリルダウンするか、別のリスナーを作成するか、パスの場所をさらに絞り込んでクエリしてみます。

*ノード数の合計が 30,000 を超えるパスは、Firebase コンソールのデータビューアから表示できません。

1 つのクエリの実行可能時間 15 分* 1 つのクエリは、失敗するまでに最大で 15 分間実行できます。

*Firebase コンソールで実行される 1 つのクエリの場合、失敗するまでに実行できる時間は最大で 5 秒間だけです。

書き込み

説明 上限 メモ
書き込みレート 1,000 回/秒 1 つのデータベースに対する 1 秒あたりの書き込みオペレーション回数の上限。ハードリミットではありませんが、1 秒あたり 1,000 回を超える書き込みを続けると、書き込みアクティビティにレート制限が適用されることがあります。
データベースへの 1 回の書き込みリクエストのサイズ REST API からの場合は 256 MB、SDK からの場合は 16 MB 各書き込みオペレーションのデータの合計は 256 MB 未満にします。マルチパスの更新にも同じサイズ制限が適用されます。
書き込みバイト数 64 MB/分 任意の時点のデータベースに対する同時書き込みオペレーションによって書き込まれたバイト数の合計。