儲存大小運算

本頁介紹 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 位元組:

  • 6個位元組用於users集合ID
  • 5 個位元組用於jeff文檔 ID
  • 6 個位元組用於tasks集合 ID
  • my_task_id文檔 ID 佔 11 個位元組
  • 16 個附加位元組

欄位值大小

下表顯示了按類型劃分的欄位值的大小。

類型尺寸
大批其值大小的總和
布林值1位元組
位元組位元組長度
日期和時間8位元組
浮點數8位元組
地理點16字節
整數8位元組
地圖地圖的大小,計算方式與文件大小相同
無效的1位元組
參考檔案名稱大小
文字字串UTF-8 編碼位元組數 + 1

例如,名為done布林欄位將使用6個位元組:

  • 5 個位元組用於done欄位名稱
  • 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位元組:

  • 44 個位元組用於文件名稱users/jeff/tasks/my_task_id
  • 27 個位元組用於父親文檔的文檔名稱users/jeff
  • 5 個位元組用於done欄位名稱
  • 1 個位元組用於布林字段值
  • 32 個額外位元組

集合組範圍

具有集合組範圍的單一欄位索引中條目的大小是以下各項的總和:

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

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

對於具有索引done欄位的集合組範圍的單一欄位索引,該索引中條目的總大小為 98 位元組:

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

複合索引條目大小

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

徵集範圍

具有集合範圍的複合索引中索引條目的大小是以下各項的總和:

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

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

對於具有索引done欄位和priority欄位(均為升序)的集合範圍的複合索引,此索引中條目的總大小為 112 位元組:

  • 44 個位元組用於文件名稱users/jeff/tasks/my_task_id
  • 27 個位元組用於父親文檔的文檔名稱users/jeff
  • 1 個位元組用於布林字段值
  • 8 個位元組用於整數欄位值
  • 32 個額外位元組

集合組範圍

具有集合組範圍的複合索引中索引條目的大小是以下各項的總和:

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

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

對於具有done欄位和priority欄位(均為升序)進行索引的集合組範圍的複合索引,該索引中索引條目的總大小為 85 位元組:

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

下一步是什麼

了解Cloud Firestore 定價