Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Obliczenia wielkości pamięci

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Na tej stronie opisano wielkość miejsca przechowywania dokumentów, nazw dokumentów, pól i wpisów indeksu w Cloud Firestore.

Możesz dowiedzieć się o kosztach tej przestrzeni dyskowej w Cenniku Cloud Firestore .

Rozmiar sznurka

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

Następujące dane są przechowywane jako ciągi:

  • Identyfikatory kolekcji
  • Ciąg identyfikatorów dokumentów
  • Nazwy dokumentów
  • Nazwy pól
  • Wartości pól tekstowych

Na przykład:

  • tasks identyfikatorów kolekcji wykorzystują 5 bajtów + 1 bajt, co daje łącznie 6 bajtów.
  • description nazwy pola wykorzystuje 11 bajtów + 1 bajt, co daje łącznie 12 bajtów.

Rozmiar identyfikatora dokumentu

Rozmiar identyfikatora dokumentu to albo rozmiar ciągu dla identyfikatora ciągu lub 8 bajtów dla identyfikatora liczby 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

Dla dokumentu w podkolekcji users/jeff/tasks z ciągiem ID dokumentu 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 poniższej tabeli przedstawiono rozmiar wartości pól według typu.

Rodzaj Rozmiar
Szyk Suma wielkości jego wartości
Boole'a 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 liczony w taki sam sposób jak rozmiar dokumentu
Zero 1 bajt
Odniesienie Rozmiar nazwy dokumentu
Ciąg tekstowy Liczba zakodowanych bajtów UTF-8 + 1

Na przykład pole logiczne o nazwie done używałoby 6 bajtów:

  • 5 bajtów na nazwę pola done
  • 1 bajt dla wartości logicznej

Rozmiar dokumentu

Rozmiar dokumentu to suma:

Ten przykład dotyczy dokumentu w podkolekcji users/jeff/tasks z ciągiem identyfikatora dokumentu my_task_id :

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

Całkowity rozmiar pól to 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 całkowitej wartości pola
"description": "Learn Cloud Firestore" 34
12 dla nazwy pola + 22 dla wartości ciągu pola

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

  • 44 bajty na nazwę dokumentu
  • 71 bajtów dla pól
  • 32 dodatkowe bajty

Rozmiar pozycji indeksu

Rozmiary pozycji indeksu są obliczane w następujący sposób dla indeksów jednopolowych i złożonych.

Rozmiar pozycji indeksu w jednym polu

Rozmiar wpisu indeksu z jednym polem zależy od tego, czy indeks jest objęty zakresem kolekcji, czy grupy kolekcji.

Zakres kolekcji

Rozmiar wpisu w indeksie jednopolowym o zasięgu kolekcji to suma:

  • Rozmiar nazwy dokumentu zindeksowanego dokumentu
  • Rozmiar nazwy dokumentu nadrzędnego dokumentu indeksowanego
  • Rozmiar łańcucha nazwy indeksowanego pola
  • Rozmiar indeksowanej wartości pola
  • 32 dodatkowe bajty

Rozważ dokument w podkolekcji users/jeff/tasks z ciągiem identyfikatora dokumentu 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 , 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 na nazwę dokumentu nadrzędnego users/jeff
  • 5 bajtów na nazwę pola done
  • 1 bajt dla wartości pola logicznego
  • 32 dodatkowe bajty

Zakres grupy kolekcji

Rozmiar wpisu w indeksie jednopolowym o zakresie grupy kolekcji to suma:

  • Rozmiar nazwy dokumentu zindeksowanego dokumentu
  • Rozmiar łańcucha nazwy indeksowanego pola
  • Rozmiar indeksowanej wartości pola
  • 48 dodatkowych bajtów

Rozważ dokument w podkolekcji users/jeff/tasks z ciągiem identyfikatora dokumentu 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 nazwę pola done
  • 1 bajt dla wartości pola logicznego
  • 48 dodatkowych bajtów

Rozmiar pozycji indeksu złożonego

Rozmiar wpisu w indeksie złożonym zależy od tego, czy indeks jest objęty zakresem kolekcji, czy 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 nadrzędnego dokumentu indeksowanego
  • Suma indeksowanych wartości pól
  • 32 dodatkowe bajty

Rozważ dokument w podkolekcji users/jeff/tasks z ciągiem identyfikatora dokumentu my_task_id :

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

W przypadku indeksu złożonego o zakresie kolekcji, który indeksuje pola done i priority (oba rosnąco), łączny rozmiar wpisu w tym indeksie wynosi 112 bajtów:

  • 44 bajty dla nazwy dokumentu users/jeff/tasks/my_task_id
  • 27 bajtów na nazwę dokumentu nadrzędnego users/jeff
  • 1 bajt dla wartości pola logicznego
  • 8 bajtów na wartość pola liczb całkowitych
  • 32 dodatkowe bajty

Zakres grupy kolekcji

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

  • Rozmiar nazwy dokumentu zindeksowanego dokumentu
  • Suma indeksowanych wartości pól
  • 32 dodatkowe bajty

Rozważ dokument w podkolekcji users/jeff/tasks z ciągiem identyfikatora dokumentu my_task_id :

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

W przypadku indeksu złożonego o zakresie grupy kolekcji, który indeksuje pola done i priority (oba rosnąco), 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 na wartość pola liczb całkowitych
  • 32 dodatkowe bajty

Co dalej

Dowiedz się więcej o cenach Cloud Firestore .