Obliczenia rozmiaru miejsca na dane

Na tej stronie opisano rozmiar dokumentów, nazw dokumentów, pól i wpisów indeksu w Cloud Firestore.

Informacje o opłatach za to miejsce na dane znajdziesz w Cloud Firestore Ceny.

Rozmiar ciągu znaków

Rozmiary ciągów znaków są obliczane jako liczba bajtów zakodowanych 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 ciągu 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

Dotyczy dokumentu w kolekcji podrzędnej users/jeff/tasks z identyfikatorem dokumentu w postaci ciągu znaków z 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 identyfikatora dokumentu my_task_id
  • 16 dodatkowych bajtów
.

Rozmiar wartości pola

W tabeli poniżej znajdziesz rozmiar wartości pól według typu.

Typ Rozmiar
Tablica Suma rozmiarów jej 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:

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 na nazwę pola + 9 jako ciąg znaków pola
"done": false 6
5 na nazwę pola + 1 jako wartość logiczna pola
"priority": 1 17
9 na nazwę pola + 8 dla liczby całkowitej pola
"description": "Learn Cloud Firestore" 34
12 na nazwę pola + 22 jako ciąg znaków 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 indeksu 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 z jednym polem z zakresem kolekcji to suma z:

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 kolekcji, który indeksuje done łączny rozmiar 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:

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 z zakresem kolekcji to suma:

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 nazwy dokumentu nadrzędnego users/jeff
  • 1 bajt na wartość pola wartości logicznej
  • 8 bajtów wartości pola liczby całkowitej
  • 32 dodatkowe bajty

Zakres grupy kolekcji

Rozmiar wpisu indeksu w indeksie złożonym z zakresem grupy kolekcji to suma:

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 done i priority (rosnąco), łączny rozmiar wpisu indeksu w tej indeks to 85 bajtów:

  • 44 bajty nazwy dokumentu users/jeff/tasks/my_task_id
  • 1 bajt na wartość pola wartości logicznej
  • 8 bajtów wartości pola liczby całkowitej
  • 32 dodatkowe bajty

Co dalej?

Zapoznaj się z cenami Cloud Firestore.