儲存空間大小計算

本頁面說明 Cloud Firestore 中的文件、文件名稱、欄位和索引項目儲存空間大小。

您可以在 Cloud Firestore 定價查詢這類儲存空間的費用。

字串大小

字串大小按 UTF-8 編碼位元組的數目 + 1 計算。

以下均以字串形式儲存:

  • 集合 ID
  • 字串文件 ID
  • 文件名稱
  • 欄位名稱
  • 字串欄位值

例如:

  • 集合 ID tasks 使用 5 個位元組 + 1 個位元組,共 6 個位元組。
  • 欄位名稱 description 使用 11 個位元組 + 1 個位元組,共 12 個位元組。

文件 ID 大小

文件 ID 的大小為字串 ID 的字串大小,或整數 ID 的 8 個位元組。

文件名稱大小

文件名稱的大小是下列項目的總和:

  • 文件路徑中每個集合 ID 和文件 ID 的大小
  • 額外 16 個位元組

如果子集合 users/jeff/tasks 中的文件具有字串文件 ID my_task_id,則文件名稱大小為 6 + 5 + 6 + 11 + 16 = 44 個位元組:

  • users 集合 ID 佔 6 個位元組
  • jeff 文件 ID 佔 5 個位元組
  • tasks 集合 ID 佔 6 個位元組
  • my_task_id 文件 ID 佔 11 個位元組
  • 額外 16 個位元組

欄位值大小

下表依類型顯示欄位值的大小。

類型 大小
陣列 其值的大小總和
布林值 1 個位元組
位元組 位元組長度
日期與時間 8 個位元組
浮點數 8 個位元組
地理點 16 個位元組
整數 8 個位元組
地圖 地圖的大小,計算方式與文件大小相同
空值 1 個位元組
參考資料 文件名稱大小
文字字串 UTF-8 編碼位元組數目 + 1

舉例來說,名為 done 的布林值欄位會使用 6 個位元組:

  • done 欄位名稱佔 5 個位元組
  • 布林值佔 1 個位元組

文件大小

文件的大小是以下幾項的總和:

以下範例是針對子集合 users/jeff/tasks 中的文件,其字串文件 ID 為 my_task_id

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

欄位的總大小為 71 個位元組:

欄位名稱和值 欄位大小 (以位元組為單位)
"type": "Personal" 14
5 個欄位名稱 + 9 個欄位字串值
"done": false 6
欄位名稱佔 5 個 + 欄位布林值佔 1 個
"priority": 1 17
欄位名稱佔 9 個 + 欄位整數值佔 8 個
"description": "Learn Cloud Firestore" 34
欄位名稱佔 12 個 + 欄位字串值佔 22 個

因此,文件大小為 44 + 71 + 32 = 147 個位元組:

  • 文件名稱佔 44 個位元組
  • 欄位佔 71 個位元組
  • 額外 32 個位元組

索引項目大小

以下列舉單一欄位和複合式索引的索引項目大小計算方式。

單一欄位索引項目大小

單一欄位索引項目的大小取決於索引的範圍是集合還是集合群組。

集合範圍

設有集合範圍的單一欄位索引項目大小是以下幾項的總和:

請考慮子集合 users/jeff/tasks 中的文件,其字串文件 ID 為 my_task_id

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

如果單一欄位索引的集合範圍是編入 done 欄位的索引,則這個索引中的項目總大小為 109 個位元組:

  • 文件名稱 users/jeff/tasks/my_task_id 佔 44 個位元組
  • 父項文件的文件名稱 users/jeff 佔 27 個位元組
  • done 欄位名稱佔 5 個位元組
  • 布林欄位值佔 1 個位元組
  • 額外 32 個位元組

集合群組範圍

設有集合群組範圍的單一欄位索引項目大小是以下幾項的總和:

請考慮子集合 users/jeff/tasks 中的文件,其字串文件 ID 為 my_task_id

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

如果單一欄位索引的集合群組範圍是編入 done 欄位的索引,這個索引中的項目總大小為 98 個位元組:

  • 文件名稱 users/jeff/tasks/my_task_id 佔 44 個位元組
  • done 欄位名稱佔 5 個位元組
  • 布林欄位值佔 1 個位元組
  • 額外 48 個位元組

複合式索引項目大小

複合式索引中的項目大小取決於索引的範圍是集合還是集合群組。

集合範圍

在含有集合範圍的複合式索引中,索引項目的大小是以下幾項的總和:

請考慮子集合 users/jeff/tasks 中的文件,其字串文件 ID 為 my_task_id

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

如果複合式索引的集合範圍是將 donepriority 欄位編入索引 (兩者皆以遞增順序排列),則這個索引中的項目總大小為 112 個位元組:

  • 文件名稱 users/jeff/tasks/my_task_id 佔 44 個位元組
  • 父項文件的文件名稱 users/jeff 佔 27 個位元組
  • 布林欄位值佔 1 個位元組
  • 整數欄位值佔 8 個位元組
  • 額外 32 個位元組

集合群組範圍

在集合群組範圍的複合式索引中,索引項目的大小是以下幾項的總和:

請考慮子集合 users/jeff/tasks 中的文件,其字串文件 ID 為 my_task_id

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

如果複合式索引的集合群組範圍是將 donepriority 欄位編入索引 (兩者皆以遞增順序排列),則這個索引中的索引項目總大小為 85 個位元組:

  • 文件名稱 users/jeff/tasks/my_task_id 佔 44 個位元組
  • 布林欄位值佔 1 個位元組
  • 整數欄位值佔 8 個位元組
  • 額外 32 個位元組

後續步驟

瞭解 Cloud Firestore 的定價