Dotyczy tylko wersji Cloud Firestore Enterprise. |
Na tej stronie znajdziesz przykłady obliczania jednostek rozliczeniowych w najczęstszych scenariuszach. Pamiętaj, że ilość przetwarzanych danych może się różnić w zależności od takich czynników jak plan zapytania, kształt danych i dostępne indeksy.
Aby lepiej zrozumieć koszt i wydajność konkretnych zapytań, zalecamy korzystanie z funkcji Wyjaśnienie zapytania.
Operacje odczytu
Większość operacji odczytu polega na odczytaniu konkretnego dokumentu lub skanowaniu zakresu danych na podstawie identyfikatora. Operacje odczytu zużywają jednostki odczytu. Jednostki odczytu są obliczane w 4-kilobajtowych porcjach. Zobacz przykłady poniżej.
Odczyty punktowe
Przykładowe rozliczenie odczytów punktowych:
- Odczyt punktowy pojedynczego dokumentu o rozmiarze 1 KiB. Zużywa: 1 jednostkę odczytu
- Odczyt punktowy pojedynczego dokumentu o rozmiarze 4 KiB. Zużywa: 1 jednostkę odczytu
- Odczyt punktowy pojedynczego dokumentu o rozmiarze 1 MiB. Zużywa: 256 jednostek odczytu
- Odczyt punktowy 100 dokumentów o rozmiarze 1 KiB każdy. Zużycie: 100 jednostek odczytu
Skanowanie
Poniższe przykłady ilustrują scenariusze skanowania dokumentów lub wpisów w indeksie.
Skanowanie dokumentów
- Zapytanie, które skanuje 100 dokumentów o rozmiarze 1 KiB każdy. Zużywa: 25 jednostek odczytu
Skanowanie indeksów
Koszt skanowania w bajtach jest taki sam niezależnie od tego, czy skanowany jest dokument czy indeks. Jednak wpisy indeksu są często mniejsze. Dzięki temu mogą one stanowić bardziej opłacalny sposób skanowania danych.
- Zapytanie, które skanuje 100 wpisów indeksu, po 1 KiB każdy. Zużywa: 25 jednostek odczytu.
- Zapytanie, które skanuje 100 wpisów indeksu, po 128 bajtów każdy. Zużywa: 4 jednostki odczytu.
Minimalny rozmiar dokumentu lub wpisu w indeksie
W niektórych sytuacjach do udzielenia odpowiedzi na zapytanie nie jest konieczne odczytywanie zawartości dokumentu ani wpisu w indeksie. Obejmuje to proste zapytania zliczające, np. zliczanie łącznej liczby dokumentów w kolekcji. W takich przypadkach obowiązuje minimalny koszt 32 bajtów za zeskanowany element.
- Oblicz liczbę dokumentów w kolekcji. Zapytanie skanuje 1000 elementów w kolekcji. Zużywa: 8 jednostek odczytu.
Połączenie skanowania i odczytów punktowych
Wiele zapytań wykonuje kombinację skanowania i odczytów punktowych, aby zrealizować operację.
- Zapytanie, które skanuje 128 pozycji indeksu, po 256 bajtów każda, i wykonuje odczyt punktowy 128 dokumentów, po 4 KiB każdy. Zużywa: 136 jednostek odczytu, w tym:
- 128 jednostek odczytu w przypadku odczytów punktowych
- 8 jednostek odczytu w przypadku skanowania indeksu
Wyjaśnienie zapytania
Wyjaśnienie zapytania pomaga zrozumieć, jak baza danych wykonuje zapytania. Podane szczegóły mogą pomóc Ci zoptymalizować zapytania.
W przypadku korzystania z funkcji Wyjaśnienie zapytania obowiązują te koszty:
- Wyjaśnienie zapytania, które wykonuje zapytanie: obowiązuje koszt zapytania.
- Funkcja Query Explain korzystająca tylko z planu. Zużywa: 1 jednostkę odczytu (minimalny koszt zapytania)
Operacje zapisu
Operacje zapisu (tworzenie, aktualizowanie i usuwanie) są rozliczane na podstawie rozmiaru dokumentów i indeksów tworzonych, modyfikowanych lub usuwanych podczas operacji. Operacje zapisu zużywają jednostki zapisu. Operacje zapisu są obliczane w porcjach po 1 KiB.
Proste operacje zapisu, takie jak aktualizacja według identyfikatora dokumentu, wiążą się tylko z kosztem zapisu. Operacje zapisu, które wymagają wykonania zapytania, aby można było je zrealizować, będą dodatkowo generować koszty odczytu związane z tym zapytaniem.
Zobacz przykłady poniżej.
Tworzy
- Utwórz nowy dokument o rozmiarze 10 KiB bez indeksów. Zużywa: 10 jednostek zapisu
- Utwórz w kolekcji dokument o rozmiarze 1 KiB z 1 wpisem indeksu o rozmiarze 256 bajtów. Zużywa: 2 jednostki zapisu
Aktualizacje
- Znajdź dokument o rozmiarze 10 KiB według identyfikatora dokumentu i zaktualizuj go bez indeksów w kolekcji. Zużywa: 10 jednostek zapisu
- Znajdź dokument o rozmiarze 1 KiB według identyfikatora dokumentu i zaktualizuj 1 pole z 1 wpisem indeksu o rozmiarze 256 bajtów. Zużywa: 3 jednostki zapisu. Uwaga: zaktualizowanie wpisu indeksu w tej sytuacji zużywa 2 jednostki zapisu – jedną na usunięcie i jedną na ponowne utworzenie wpisu indeksu.
- Znajdź dokument o rozmiarze 1 KiB według identyfikatora i nie wprowadzaj w nim żadnych zmian. Zużywa: 1 jednostkę zapisu (minimalny koszt zapisu)
- Wykonywanie zapytań dotyczących wszystkich dokumentów o rozmiarze 1 KiB w kolekcji, co powoduje skanowanie 1000 dokumentów, oraz wstawianie nowego pola o rozmiarze 256 bajtów bez indeksów w kolekcji: 1000 jednostek odczytu i 1000 jednostek zapisu.
Usunięcia
- Usuń dokument o rozmiarze 1 KiB, który ma 1 indeks w kolekcji. Zużywa: 2 jednostki zapisu
- Usuń dokument o rozmiarze 1 KiB, który nie ma indeksów w kolekcji. Zużywa: 1 jednostkę zapisu
Kompilacje indeksów
Za tworzenie indeksów pobieramy opłaty za wpisy w indeksie utworzone lub zmodyfikowane podczas operacji tworzenia. Koszty te są ponoszone za każdym razem, gdy dodawana lub usuwana jest definicja indeksu. Opłaty za wpisy indeksu są naliczane tak samo jak za zapisy, czyli 1 jednostka zapisu za 1 KiB.
- Utwórz nowy indeks dla kolekcji zawierającej 500 dokumentów, a każdy utworzony wpis indeksu ma rozmiar 1 KiB. Zużywa 500 jednostek zapisu.
- Usunięcie istniejącego indeksu dla kolekcji zawierającej 500 dokumentów, przy czym każdy usunięty wpis indeksu ma rozmiar 1 KiB. Zużywa 500 jednostek zapisu.