儲存空間大小計算

本頁說明文件、文件名稱、欄位和 Cloud Firestore 中的索引項目。

您可以前往 Cloud Firestore 瞭解這個儲存空間的費用 定價

字串大小

字串大小計算方式為 UTF-8 編碼位元組 + 1。

以下均以字串形式儲存:

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

例如:

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

文件 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 中有一份文件,其中包含 my_task_id 的字串文件 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 中有一份文件,其中包含 my_task_id 的字串文件 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 中有一份文件,其中包含 my_task_id 的字串文件 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 中有一份文件,其中包含 my_task_id 的字串文件 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 定價