儲存空間大小計算

本頁面說明 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 定價