存儲大小計算

本頁介紹 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 定價