Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

リアルタイムデータベースの制限

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

以下は、Firebase Realtime Database でのデータ ストレージと操作に関する制限事項です。これらの制限を超えてスケ​​ーリングするには、複数のデータベースを使用します

グローバル

手術リミット説明
同時接続200,000*

同時接続は、データベースに接続された 1 つのモバイル デバイス、ブラウザー タブ、またはサーバー アプリに相当します。

すべてのユーザーが一度に接続するわけではないため、これはアプリのユーザーの総数とは異なります。たとえば、月間アクティブ ユーザー数が 1,000 万人のアプリでは、通常、同時接続数は 200,000 未満です。最大同時接続数は、合計ユーザー数とユーザーがアプリに費やす平均時間によって異なります。

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

※Sparkプランの同時接続上限は100です。

単一のデータベースから送信される同時応答。 ~100,000/秒応答には、特定の時間に単一のデータベースからサーバーによって送信される同時ブロードキャストおよび読み取り操作が含まれます。制限は、データベースから送信されるプッシュ通知を含む、個々の読み取りまたはブロードキャスト操作を表すデータ パケットを指します。このガイダンスは持続的な負荷を対象としていますが、データベースは時折より高いバーストを処理できます。
1 回の書き込みでトリガーされる Cloud Functions の数1000;または、Cloud Functions v2 の場合、リージョンごとに 500 1 つの関数からトリガーできる読み取り操作または書き込み操作の数に制限はありませんが、1 つのデータベース書き込み操作でトリガーできる関数は 1,000 個、または Cloud Functions v2 のリージョンごとに 500 個です。

Cloud Functions は書き込みオペレーションによってのみトリガーできます。各関数は、より多くの関数をトリガーする書き込みオペレーションをトリガーすることもできます (それぞれに独自の 1000 関数またはリージョンあたり 500 の制限があります)。

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

データツリー

財産リミット説明
子ノードの最大深度32データ ツリーの各パスの深さは 32 レベル未満である必要があります。
キーの長さ768 バイトキーは UTF-8 でエンコードされており、改行や次の文字を含めることはできません。
. $ # [ ] / または任意の ASCII 制御文字 (0x00 - 0x1F および 0x7F)
文字列の最大サイズ10MBデータは UTF-8 でエンコードされています。

読み取り

説明リミットノート
データベースが提供する単一の応答のサイズ256メガバイト1 つの場所でデータベースからダウンロードされるデータのサイズは、読み取り操作ごとに 256 MB 未満である必要があります。

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

リスナーまたはクエリを含むパス内のノードの合計7500万*累積ノード数が 7,500 万を超えるパスをリッスンまたはクエリすることはできません。ただし、子ノードをリッスンまたはクエリすることはできます。パスをさらに掘り下げるか、パスのより具体的な部分に対して別のリスナーまたはクエリを作成してみてください。

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

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

*Firebase コンソールで実行される単一のクエリは、失敗するまで最大 5 秒間しか実行できません。

書く

説明リミットノート
書き込み速度1,000 回の書き込み/秒1 つのデータベースでの 1 秒あたりの書き込み操作の制限。厳密な制限ではありませんが、1 秒あたり 1,000 回を超える書き込みを維持すると、書き込みアクティビティがレート制限される可能性があります。
データベースへの 1 回の書き込み要求のサイズREST API から 256 MB。 SDK から 16 MB。各書き込み操作の合計データは 256 MB 未満にする必要があります。マルチパス更新には、同じサイズ制限が適用されます。
書き込まれたバイト数64MB/分任意の時点でのデータベースへの同時書き込み操作によって書き込まれた合計バイト数。

以下は、Firebase Realtime Database でのデータ ストレージと操作に関する制限事項です。これらの制限を超えてスケ​​ーリングするには、複数のデータベースを使用します

グローバル

手術リミット説明
同時接続200,000*

同時接続は、データベースに接続された 1 つのモバイル デバイス、ブラウザー タブ、またはサーバー アプリに相当します。

すべてのユーザーが一度に接続するわけではないため、これはアプリのユーザーの総数とは異なります。たとえば、月間アクティブ ユーザー数が 1,000 万人のアプリでは、通常、同時接続数は 200,000 未満です。最大同時接続数は、合計ユーザー数とユーザーがアプリに費やす平均時間によって異なります。

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

※Sparkプランの同時接続上限は100です。

単一のデータベースから送信される同時応答。 ~100,000/秒応答には、特定の時間に単一のデータベースからサーバーによって送信される同時ブロードキャストおよび読み取り操作が含まれます。制限は、データベースから送信されるプッシュ通知を含む、個々の読み取りまたはブロードキャスト操作を表すデータ パケットを指します。このガイダンスは持続的な負荷を対象としていますが、データベースは時折より高いバーストを処理できます。
1 回の書き込みでトリガーされる Cloud Functions の数1000;または、Cloud Functions v2 の場合、リージョンごとに 500 1 つの関数からトリガーできる読み取り操作または書き込み操作の数に制限はありませんが、1 つのデータベース書き込み操作でトリガーできる関数は 1,000 個、または Cloud Functions v2 のリージョンごとに 500 個です。

Cloud Functions は書き込みオペレーションによってのみトリガーできます。各関数は、より多くの関数をトリガーする書き込みオペレーションをトリガーすることもできます (それぞれに独自の 1000 関数またはリージョンあたり 500 の制限があります)。

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

データツリー

財産リミット説明
子ノードの最大深度32データ ツリーの各パスの深さは 32 レベル未満である必要があります。
キーの長さ768 バイトキーは UTF-8 でエンコードされており、改行や次の文字を含めることはできません。
. $ # [ ] / または任意の ASCII 制御文字 (0x00 - 0x1F および 0x7F)
文字列の最大サイズ10MBデータは UTF-8 でエンコードされています。

読み取り

説明リミットノート
データベースが提供する単一の応答のサイズ256メガバイト1 つの場所でデータベースからダウンロードされるデータのサイズは、読み取り操作ごとに 256 MB 未満である必要があります。

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

リスナーまたはクエリを含むパス内のノードの合計7500万*累積ノード数が 7,500 万を超えるパスをリッスンまたはクエリすることはできません。ただし、子ノードをリッスンまたはクエリすることはできます。パスをさらに掘り下げるか、パスのより具体的な部分に対して別のリスナーまたはクエリを作成してみてください。

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

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

*Firebase コンソールで実行される単一のクエリは、失敗するまで最大 5 秒間しか実行できません。

書く

説明リミットノート
書き込み速度1,000 回の書き込み/秒1 つのデータベースでの 1 秒あたりの書き込み操作の制限。厳密な制限ではありませんが、1 秒あたり 1,000 回を超える書き込みを維持すると、書き込みアクティビティがレート制限される可能性があります。
データベースへの 1 回の書き込み要求のサイズREST API から 256 MB。 SDK から 16 MB。各書き込み操作の合計データは 256 MB 未満にする必要があります。マルチパス更新には、同じサイズ制限が適用されます。
書き込まれたバイト数64MB/分任意の時点でのデータベースへの同時書き込み操作によって書き込まれた合計バイト数。