Obliczenia rozmiaru miejsca na dane

Ta strona opisuje rozmiar miejsca na dane dokumentów, nazw dokumentów, pól i wpisów indeksu w Cloud Firestore.

Informacje o kosztach tej usługi znajdziesz w sekcji Cloud FirestoreCeny.

Rozmiar ciągu znaków

Rozmiary ciągów znaków są obliczane jako liczba bajtów zakodowanych w UTF-8 + 1.

Jako ciągi znaków są przechowywane:

  • Identyfikatory kolekcji
  • Identyfikatory dokumentów tekstowych
  • 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, czyli łącznie 6 bajtów.
  • Nazwa pola description zajmuje 11 bajtów + 1 bajt, czyli łącznie 12 bajtów.

Rozmiar identyfikatora dokumentu

Rozmiar identyfikatora dokumentu to albo rozmiar ciągu znaków w przypadku ciągu znaków, albo 8 bajtów w przypadku identyfikatora całkowitego.

Rozmiar nazwy dokumentu

Rozmiar nazwy dokumentu to suma:

  • Rozmiar każdego identyfikatora kolekcji i identyfikatora dokumentu na ś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 na identyfikator kolekcji users
  • 5 bajtów na identyfikator dokumentu jeff
  • 6 bajtów na identyfikator 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ść bajtów
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 obliczany w ten sam sposób co rozmiar dokumentu.
Null 1 bajt
Źródła wiedzy rozmiar nazwy dokumentu,
Ciąg tekstowy Liczba bajtów zakodowanych w UTF-8 + 1

Na przykład pole typu logicznego o nazwie done zajmuje 6 bajtów:

  • 5 bajtów na nazwę pola done
  • 1 bajt na wartość logiczną.

Rozmiar dokumentu

Rozmiar dokumentu to suma:

Ten przykład dotyczy dokumentu w podkolekcji users/jeff/tasks z identyfikatorem ciągu znaków 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

Rozmiar dokumentu to więc 44 + 71 + 32 = 147 bajtów:

  • 44 bajty na nazwę dokumentu
  • 71 bajtów na pola
  • 32 dodatkowe bajty

Rozmiar wpisu w indeksie

Rozmiary wpisów indeksu są obliczane w ten sposób w przypadku indeksów jednopolowych i wielopolowych.

Rozmiar wpisu w indeksie pojedynczego pola

Rozmiar wpisu w indeksie jednopolowym zależy od tego, czy indeks jest ograniczony do kolekcji czy grupy kolekcji.

Zakres kolekcji

Rozmiar wpisu w indeksie jednopolowym z zakresem kolekcji to suma:

Rozważ dokument w podkolekcji users/jeff/tasks o identyfikatorze ciągu znaków 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 na nazwę dokumentu users/jeff/tasks/my_task_id
  • 27 bajtów na nazwę dokumentu nadrzędnego users/jeff
  • 5 bajtów na nazwę pola done
  • 1 bajt na wartość pola logicznego.
  • 32 dodatkowe bajty

Zakres grupy kolekcji

Rozmiar wpisu w indeksie jednopolowym z zakresem grupy kolekcji to suma:

Rozważ dokument w podkolekcji users/jeff/tasks o identyfikatorze ciągu znaków my_task_id:

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

W przypadku indeksu jednopolowego o zakresie grupy kolekcji, który indeksuje pole done, łączny rozmiar wpisu w tym indeksie wynosi 98 bajtów:

  • 44 bajty na nazwę dokumentu users/jeff/tasks/my_task_id
  • 5 bajtów na nazwę pola done
  • 1 bajt na wartość pola logicznego.
  • 48 dodatkowych bajtów

Rozmiar wpisu w indeksie złożonym

Rozmiar wpisu w indeksie złożonym zależy od tego, czy indeks jest ograniczony do kolekcji czy grupy kolekcji.

Zakres kolekcji

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

Rozważ dokument w podkolekcji users/jeff/tasks o identyfikatorze ciągu znaków 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 donepriority (oba w kolejności rosnącej), łączna wielkość wpisu w tym indeksie wynosi 112 bajtów:

  • 44 bajty na nazwę 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 o zakresie grupy kolekcji to suma:

Rozważ dokument w podkolekcji users/jeff/tasks o identyfikatorze ciągu znaków 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 donepriority (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

Co dalej?

Dowiedz się więcej o cenach Cloud Firestore.