Ilość miejsca na dane

Dotyczy tylko wersji Cloud Firestore Enterprise.

Na tej stronie opisujemy rozmiar pamięci dokumentów, pól i wpisów indeksu w Cloud Firestore w trybie zgodności z MongoDB.

Informacje o kosztach tego miejsca znajdziesz na stronie Cennik.

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 te elementy:

  • Nazwa kolekcji
  • Nazwy pól
  • wartości pól tekstowych (w tym _id);

Przykład:

  • Nazwa 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 wartości pola

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

Typ Rozmiar
Tablica suma rozmiarów jego wartości,
Wartość logiczna 1 bajt
Dane binarne Długość w bajtach + 1 w przypadku podtypu innego niż ogólny (innego niż 0)
Data 8 bajtów
Liczba zmiennoprzecinkowa 8 bajtów
Double128 16 bajtów
Liczba całkowita 32-bitowa 4 bajty
Liczba całkowita 64-bitowa (długa) 8 bajtów
Obiekt Suma rozmiarów ciągów znaków każdej nazwy pola i rozmiarów każdej wartości pola w obiekcie zagnieżdżonym.
Klucz minimalny 1 bajt
Klucz maksymalny 1 bajt
Null 1 bajt
Wyrażenie regularne (Długość wzorca + 1) + (długość opcji + 1)
Sygnatura czasowa 8 bajtów
Ciąg znaków Liczba bajtów zakodowanych w UTF-8 + 1

Na przykład pole logiczne 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 kolekcji tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

Łączny rozmiar pól to 78 bajtów:

Nazwa i wartość pola Rozmiar pola w bajtach
"_id": "my_task_id" 11 – wartość ciągu znaków w polu.
"type": "Personal" 14
5 znaków na nazwę pola + 9 znaków na wartość tekstową pola
"done": false 6
5 znaków na nazwę pola + 1 znak na wartość logiczną pola
"priority": 1 17
9 znaków na nazwę pola + 4 znaki na 32-bitową wartość całkowitą pola
"description": "Learn Cloud Firestore" 34
12 w przypadku nazwy pola + 22 w przypadku wartości ciągu pola

Rozmiar dokumentu to 6 + 78 + 48 = 132 bajty:

  • 6 za nazwę kolekcji
  • 78 bajtów na pola
  • 48 dodatkowych bajtów

Rozmiar wpisu w indeksie

Rozmiar wpisu indeksu w indeksie to suma:

Rozważmy dokument w kolekcji tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

W przypadku indeksu w polach donepriority (oba w kolejności rosnącej) łączny rozmiar wpisu indeksu w tym indeksie wynosi 70 bajtów:

  • 6 bajtów na nazwę kolekcjitasks
  • 11 bajtów w przypadku wartości pola _id
  • 1 bajt na wartość pola logicznego
  • 4 bajty na wartość pola 32-bitowej liczby całkowitej.
  • 48 dodatkowych bajtów

W przypadku indeksów rzadkich, jeśli dokument nie zawiera żadnego z pól, nie jest tworzony żaden wpis indeksu. Jeśli dokument zawiera co najmniej 1 zindeksowane pole, tworzony jest wpis indeksu, w którym brakujące zindeksowane pola mają wartość NULL.

Co dalej?

Dowiedz się więcej o cenach.