Na tej stronie opisano rozmiar dokumentów, nazw dokumentów, pól i wpisy indeksu w Cloud Firestore.
Informacje o opłatach za miejsce na dane znajdziesz na stronie Cloud Firestore Ceny.Rozmiar ciągu znaków
Rozmiary ciągów znaków są obliczane jako liczba bajtów zakodowanych w formacie UTF-8 + 1.
Te dane są przechowywane jako ciągi znaków:
- Identyfikatory kolekcji
- Identyfikatory dokumentów z ciągami znaków
- Nazwy dokumentów
- Nazwy pól
- Wartości pól typu ciąg znaków
Przykład:
- Identyfikator kolekcji
tasks
zajmuje 5 bajtów + 1 bajt, co daje łącznie 6 bajtów. - Nazwa pola
description
zajmuje 11 bajtów + 1 bajt, co daje łącznie 12 bajtów B.
Rozmiar identyfikatora dokumentu
Rozmiar identyfikatora dokumentu to rozmiar ciągu znaków Identyfikator lub 8 bajtów w przypadku identyfikatora całkowitej.
Rozmiar nazwy dokumentu
Rozmiar nazwy dokumentu to suma:
- Rozmiar każdego identyfikatora kolekcji i identyfikatora dokumentu w ścieżce do dokumentu
- 16 dodatkowych bajtów
W przypadku dokumentu w kolekcji podrzędnej users/jeff/tasks
o identyfikatorze ciągu znaków my_task_id
rozmiar nazwy dokumentu to 6 + 5 + 6 + 11 + 16 = 44 bajty:
- 6 bajtów identyfikatora kolekcji
users
- 5 bajtów dla identyfikatora dokumentu
jeff
- 6 bajtów identyfikatora kolekcji
tasks
- 11 bajtów na identyfikator dokumentu
my_task_id
- 16 dodatkowych bajtów
Rozmiar wartości pola
W tabeli poniżej podano rozmiary wartości pól według typu.
Typ | Rozmiar |
---|---|
Tablica | suma rozmiarów jego wartości; |
Wartość logiczna | 1 bajt |
Bajty | Długość w bajtach |
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 obliczony tak samo jak rozmiar dokumentu. |
Null | 1 bajt |
Źródła wiedzy | rozmiar nazwy dokumentu, |
Ciąg tekstowy | Liczba bajtów zakodowanych w formacie UTF-8 + 1 |
Na przykład pole wartości logicznej done
miałoby 6 bajtów:
- Nazwa pola
done
ma 5 bajtów - 1 bajt na wartość logiczną
Rozmiar dokumentu
Rozmiar dokumentu to suma:
- rozmiar nazwy dokumentu,
- suma długości ciągu znaków nazwy każdego pola,
- Suma rozmiaru każdej wartości pola.
- 32 dodatkowe bajty
Ten przykład dotyczy dokumentu w kolekcji podrzędnej users/jeff/tasks
z identyfikatorem dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Łączny rozmiar pól to 71 bajtów:
Nazwa i wartość pola | Rozmiar pola w bajtach |
---|---|
"type": "Personal" |
14 5 dla nazwy pola + 9 dla wartości ciągu znaków 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 ciągu znaków wartości pola |
Zatem rozmiar dokumentu to 44 + 71 + 32 = 147 bajtów:
- 44 bajty nazwy dokumentu
- 71 bajtów dla pól
- 32 dodatkowe bajty
Rozmiar wpisu indeksu
Rozmiary wpisów indeksu są obliczane w następujący sposób dla pojedynczego pola i złożonego indeksów.
Rozmiar wpisu w indeksie pojedynczego pola
Rozmiar wpisu indeksu z jednym polem zależy od tego, czy indeks jest ograniczony do kolekcję lub grupę kolekcji.
Zakres kolekcji
Rozmiar wpisu w indeksie jednopolowym z zakresem kolekcji to suma:
- Rozmiar nazwy zindeksowanego dokumentu.
- rozmiar nazwy dokumentu w pliku nadrzędnym zindeksowanego dokumentu; dokument
- Rozmiar ciągu nazwy zindeksowanego pola
- Rozmiar zindeksowanej wartości pola.
- 32 dodatkowe bajty
Rozważ dokument w kolekcji podrzędnej users/jeff/tasks
z:
identyfikator dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
W przypadku indeksu jednopolowego o zakresie kolekcji, który indeksuje pole done
, łączna wielkość wpisu w tym indeksie wynosi 109 bajtów:
- 44 bajty nazwy dokumentu
users/jeff/tasks/my_task_id
- 27 bajtów nazwy dokumentu nadrzędnego
users/jeff
- Nazwa pola
done
ma 5 bajtów - 1 bajt na wartość pola wartości logicznej
- 32 dodatkowe bajty
Zakres grupy kolekcji
Rozmiar wpisu w indeksie z pojedynczym polem z zakresem grupy kolekcji to wartość suma:
- rozmiar nazwy dokumentu zindeksowanego dokumentu;
- Rozmiar ciągu nazwy zindeksowanego pola
- Rozmiar zindeksowanej wartości pola.
- 48 dodatkowych bajtów
Rozważ dokument w kolekcji podrzędnej users/jeff/tasks
z:
identyfikator dokumentu w postaci ciągu my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
W przypadku indeksu z pojedynczym polem z zakresem grupy kolekcji, który indeksuje done
łączny rozmiar wpisu w tym indeksie wynosi 98 bajtów:
- 44 bajty nazwy dokumentu
users/jeff/tasks/my_task_id
- Nazwa pola
done
ma 5 bajtów - 1 bajt na wartość pola wartości logicznej
- 48 dodatkowych bajtów
Rozmiar wpisu indeksu złożonego
Rozmiar wpisu w indeksie złożonym zależy od tego, czy indeks ma zakres do kolekcji lub grupy kolekcji.
Zakres kolekcji
Rozmiar wpisu indeksu w indeksie złożonym o zakresie kolekcji to suma:
- rozmiar nazwy dokumentu zindeksowanego dokumentu;
- rozmiar nazwy dokumentu w pliku nadrzędnym zindeksowanego dokumentu; dokument
- suma zindeksowanych wartości pól.
- 32 dodatkowe bajty
Rozważ dokument w kolekcji podrzędnej users/jeff/tasks
z:
identyfikator 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 done
i
priority
(oba pola rosnąco), łączny rozmiar wpisu w tym indeksie wynosi
112 bajtów:
- 44 bajty nazwy dokumentu
users/jeff/tasks/my_task_id
- 27 bajtów na nazwę dokumentu nadrzędnego
users/jeff
- 1 bajt na wartość pola logicznego.
- 8 bajtów na wartość pola liczby całkowitej
- 32 dodatkowe bajty
Zakres grupy kolekcji
Rozmiar wpisu indeksu w indeksie złożonym z zakresem grupy kolekcji to suma:
- rozmiar nazwy dokumentu zindeksowanego dokumentu;
- suma zindeksowanych wartości pól.
- 32 dodatkowe bajty
Rozważ dokument w kolekcji podrzędnej users/jeff/tasks
z:
identyfikator 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 priority
(oba w kolejności rosnącej), łączna wielkość wpisu indeksu w tym indeksie wynosi 85 bajtów:
- 44 bajty na nazwę dokumentu
users/jeff/tasks/my_task_id
- 1 bajt na wartość pola logicznego.
- 8 bajtów na wartość pola liczby całkowitej
- 32 dodatkowe bajty