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 | イベントのサイズは次の値で構成されます。
|
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/分 | 任意の時点のデータベースに対する同時書き込みオペレーションによって書き込まれたバイト数の合計。 |