以下は、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 | イベントのサイズは、次の値で構成されます。
|
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 | イベントのサイズは、次の値で構成されます。
|
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/分 | 任意の時点でのデータベースへの同時書き込み操作によって書き込まれた合計バイト数。 |