Na tej stronie opisano rozmiar przechowywania dokumentów, nazw dokumentów, pól i wpisów indeksu w Cloud Firestore.
Możesz dowiedzieć się o kosztach tego miejsca w Cloud Firestore Cennik .Rozmiar sznurka
Rozmiary ciągów są obliczane jako liczba bajtów zakodowanych w formacie UTF-8 + 1.
Poniższe informacje są przechowywane jako ciągi znaków:
- Identyfikatory kolekcji
- Ciąg identyfikatorów dokumentów
- Nazwy dokumentów
- Nazwy pól
- Wartości pól tekstowych
Na przykład:
-
tasks
identyfikatora kolekcji wykorzystują 5 bajtów + 1 bajt, co daje w sumie 6 bajtów. -
description
nazwy pola wykorzystuje 11 bajtów + 1 bajt, co daje w sumie 12 bajtów.
Rozmiar identyfikatora dokumentu
Rozmiar identyfikatora dokumentu to albo rozmiar ciągu w przypadku identyfikatora ciągu, albo 8 bajtów w przypadku identyfikatora całkowitego.
Rozmiar nazwy dokumentu
Rozmiar nazwy dokumentu jest sumą:
- Rozmiar każdego identyfikatora kolekcji i identyfikatora dokumentu w ścieżce do dokumentu
- 16 dodatkowych bajtów
W przypadku dokumentu w podkolekcji users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
rozmiar nazwy dokumentu wynosi 6 + 5 + 6 + 11 + 16 = 44 bajty:
- 6 bajtów na identyfikator kolekcji
users
- 5 bajtów dla identyfikatora dokumentu
jeff
- 6 bajtów na identyfikator kolekcji
tasks
- 11 bajtów dla identyfikatora dokumentu
my_task_id
- 16 dodatkowych bajtów
Rozmiar wartości pola
W poniższej tabeli przedstawiono wielkość wartości pól według typu.
Typ | Rozmiar |
---|---|
Szyk | Suma rozmiarów jego wartości |
Wartość logiczna | 1 bajt |
Bajty | Długość bajtu |
Data i godzina | 8 bajtów |
Liczba zmiennoprzecinkowa | 8 bajtów |
Punkt geograficzny | 16 bajtów |
Liczba całkowita | 8 bajtów |
Mapa | Rozmiar mapy liczony w taki sam sposób jak rozmiar dokumentu |
Zero | 1 bajt |
Odniesienie | Rozmiar nazwy dokumentu |
Ciąg tekstowy | Liczba bajtów zakodowanych w formacie UTF-8 + 1 |
Na przykład pole logiczne o nazwie done
zajmowałoby 6 bajtów:
- 5 bajtów na
done
nazwę pola - 1 bajt dla wartości logicznej
Rozmiar dokumentu
Rozmiar dokumentu to suma:
- Rozmiar nazwy dokumentu
- Suma rozmiaru ciągu znaków dla każdej nazwy pola
- Suma rozmiaru każdej wartości pola
- 32 dodatkowe bajty
Ten przykład dotyczy dokumentu w podkolekcji users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Całkowity rozmiar pól wynosi 71 bajtów:
Nazwa pola i wartość | Rozmiar pola w bajtach |
---|---|
"type": "Personal" | 14 5 dla nazwy pola + 9 dla wartości ciągu pola |
"done": false | 6 5 dla nazwy pola + 1 dla wartości logicznej pola |
"priority": 1 | 17 9 dla nazwy pola + 8 dla wartości całkowitej pola |
"description": "Learn Cloud Firestore" | 34 12 dla nazwy pola + 22 dla wartości ciągu pola |
Zatem rozmiar dokumentu wynosi 44 + 71 + 32 = 147 bajtów:
- 44 bajty na nazwę dokumentu
- 71 bajtów na pola
- 32 dodatkowe bajty
Rozmiar wpisu indeksu
Rozmiary wpisów indeksu są obliczane w następujący sposób dla indeksów jednopolowych i złożonych.
Rozmiar wpisu indeksu jednopolowego
Rozmiar jednopolowego wpisu indeksu zależy od tego, czy zakres indeksu obejmuje kolekcję, czy grupę kolekcji.
Zakres kolekcji
Rozmiar wpisu w indeksie jednopolowym z zakresem kolekcji jest sumą:
- Rozmiar nazwy indeksowanego dokumentu
- Rozmiar nazwy dokumentu nadrzędnego indeksowanego dokumentu
- Rozmiar ciągu nazwy indeksowanego pola
- Rozmiar wartości pola indeksowanego
- 32 dodatkowe bajty
Rozważmy dokument w podkolekcji users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
W przypadku indeksu jednopolowego z zakresem kolekcji, który indeksuje pole done
, całkowity rozmiar wpisu w tym indeksie wynosi 109 bajtów:
- 44 bajty dla nazwy dokumentu
users/jeff/tasks/my_task_id
- 27 bajtów dla nazwy dokumentu dokumentu nadrzędnego
users/jeff
- 5 bajtów na
done
nazwę pola - 1 bajt dla wartości pola logicznego
- 32 dodatkowe bajty
Zakres grupy kolekcji
Rozmiar wpisu w indeksie jednopolowym o zasięgu grupy kolekcji jest sumą:
- Rozmiar nazwy indeksowanego dokumentu
- Rozmiar ciągu nazwy indeksowanego pola
- Rozmiar wartości pola indeksowanego
- 48 dodatkowych bajtów
Rozważmy dokument w podkolekcji users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
W przypadku indeksu jednopolowego z zakresem grupy kolekcji, który indeksuje pole done
, całkowity rozmiar wpisu w tym indeksie wynosi 98 bajtów:
- 44 bajty dla nazwy dokumentu
users/jeff/tasks/my_task_id
- 5 bajtów na
done
nazwę pola - 1 bajt dla wartości pola logicznego
- 48 dodatkowych bajtów
Rozmiar wpisu indeksu złożonego
Rozmiar wpisu w indeksie złożonym zależy od tego, czy zakres indeksu obejmuje kolekcję, czy grupę kolekcji.
Zakres kolekcji
Rozmiar wpisu indeksu w indeksie złożonym z zakresem kolekcji jest sumą:
- Rozmiar nazwy indeksowanego dokumentu
- Rozmiar nazwy dokumentu nadrzędnego indeksowanego dokumentu
- Suma wartości indeksowanych pól
- 32 dodatkowe bajty
Rozważmy dokument w podkolekcji users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
W przypadku indeksu złożonego z zakresem kolekcji, który indeksuje pola done
i priority
(oba rosnące), całkowity rozmiar wpisu w tym indeksie wynosi 112 bajtów:
- 44 bajty dla nazwy dokumentu
users/jeff/tasks/my_task_id
- 27 bajtów dla nazwy dokumentu dokumentu nadrzędnego
users/jeff
- 1 bajt dla wartości pola logicznego
- 8 bajtów dla wartości pola całkowitego
- 32 dodatkowe bajty
Zakres grupy kolekcji
Rozmiar wpisu indeksu w indeksie złożonym z zakresem grupy kolekcji jest sumą:
- Rozmiar nazwy indeksowanego dokumentu
- Suma wartości indeksowanych pól
- 32 dodatkowe bajty
Rozważmy dokument w podkolekcji users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
W przypadku indeksu złożonego z zakresem grupy kolekcji, który indeksuje pola done
i pola priority
(oba rosnące), całkowity rozmiar wpisu indeksu w tym indeksie wynosi 85 bajtów:
- 44 bajty dla nazwy dokumentu
users/jeff/tasks/my_task_id
- 1 bajt dla wartości pola logicznego
- 8 bajtów dla wartości pola całkowitego
- 32 dodatkowe bajty