Oto kilka przykładów, które pomogą Ci zrozumieć cennik Firestore w wersji Enterprise w różnych scenariuszach.
Przykład cennika zapytań
Scenariusz: zapytanie filtruje pole username z wartością ilovefirebase w kolekcji zawierającej 100 dokumentów, z których każdy ma rozmiar 2 KiB. Załóżmy, że jest tylko 1 username z wartością ilovefirebase. To samo zapytanie jest wykonywane milion razy.
| Activity | Wersja Standard (zapytanie z automatycznym indeksowaniem) | Wersja Enterprise (zapytanie z indeksowaniem) | Wersja Enterprise (skanowanie kolekcji bez indeksowania) |
| Stan zindeksowania | Używa automatycznie utworzonego indeksu do wyszukiwania nazwy użytkownika. | Po ręcznym utworzeniu indeksu w polu nazwy użytkownika. | Nie używa indeksu; skanuje całą kolekcję użytkowników o rozmiarze 200 KiB. |
| Jednostki odczytu na zapytanie | Koszt naliczany jest za 1 odczyt. | Koszt naliczany jest za 2 jednostki odczytu (1 za skanowanie indeksu i 1 za odczyt dokumentu). | Koszt naliczany jest za 50 jednostek odczytu (100 dokumentów po 2 KiB = 200 KiB skanowania). 200 KiB / 4 KiB na jednostkę = 50 jednostek). |
| Łączny koszt (za 1 milion zapytań) | 0,30 USD za milion zapytań (1 odczyt po 0,30 USD za milion jednostek odczytu). | 0,10 USD za milion zapytań (2 jednostki odczytu po 0,05 USD za milion jednostek odczytu). | 2,50 USD za milion zapytań (50 jednostek odczytu po 0,05 USD za milion). |
Podsumowanie różnic w kosztach
- Zapytanie z indeksowaniem: to samo zapytanie w wersji Enterprise kosztuje 0,10 USD za milion z ręcznie utworzonym indeksem w polu nazwy użytkownika.
- Zapytanie o skanowanie kolekcji bez indeksowania: zapytanie o skanowanie kolekcji bez indeksowania w wersji Enterprise kosztuje 2,50 USD za milion, czyli znacznie więcej niż 0,30 USD za równoważny odczyt z automatycznym indeksowaniem w wersji Standard. Pokazuje to, że wysyłanie zapytań bez indeksów może prowadzić do nieefektywnego i kosztownego wykonywania.
- Zaleta kosztowa: 0,10 USD za milion jednostek odczytu to 3 razy mniej niż koszt odczytu z indeksowaniem w wersji Standard. Pokazuje to niską cenę podstawową jednostki odczytu w wersji Enterprise, gdy zapytania są zoptymalizowane.
Przykład cennika w czasie rzeczywistym
Więcej informacji o cenniku znajdziesz w artykule Cennik w czasie rzeczywistym.
Scenariusz 1: milion klientów wysyła zapytanie o 10 najnowszych postów w kolekcji (indeksowanej według sygnatury czasowej). Każdy post ma rozmiar 6 KiB. 2 z tych postów są następnie aktualizowane, co powoduje wysłanie aktualizacji w czasie rzeczywistym do klientów.
| Activity | Wersja Standard | Wersja Enterprise | Najważniejsze informacje o cenniku |
| Model cenowy | Opłata za zapytanie początkowe i aktualizacje w czasie rzeczywistym jest naliczana za odczytany dokument. | Opłata za zapytanie początkowe jest naliczana za jednostkę odczytu (transza 4 KiB).
Aktualizacje w czasie rzeczywistym korzystają z osobnego SKU aktualizacji w czasie rzeczywistym. |
Wersja Enterprise wykorzystuje cennik jednostek odczytu, aby obniżyć koszt odczytów początkowych. |
| Pierwszy odczyt (początkowa synchronizacja 10 postów, z których każdy ma rozmiar 6 KiB) | Na klienta naliczanych jest 10 odczytów (rozmiar dokumentu nie ma znaczenia). | Na klienta naliczanych jest 21 jednostek odczytu
(1 jednostka odczytu za skanowanie indeksu 10 postów) (20 jednostek odczytu: 2 jednostki odczytu na dokument o rozmiarze 6 KiB * 10 dokumentów) |
Wersja Enterprise zużywa więcej jednostek (21 zamiast 10), ale po znacznie niższej cenie jednostkowej. |
| Koszt pierwszego odczytu (za 1 milion) | 10 odczytów * 1 milion klientów po 0,30 USD za milion: 3,00 USD. | 21 jednostek odczytu * 1 milion klientów po 0,05 USD za milion: 1,05 USD. | Odczyt początkowy jest 4 razy tańszy w wersji Enterprise. |
| Aktualizacje w czasie rzeczywistym (2 aktualizacje dokumentów o rozmiarze 6 KiB) | Naliczane są 2 odczyty (2 zaktualizowane dokumenty). | Naliczane są 4 jednostki aktualizacji w czasie rzeczywistym (2 jednostki aktualizacji w czasie rzeczywistym na dokument o rozmiarze 6 KiB * 2 aktualizacje w czasie rzeczywistym). | Wersja Enterprise rozdziela aktualizacje w czasie rzeczywistym na osobne SKU. |
| Koszt w czasie rzeczywistym (za 1 milion klientów) | 2 odczyty * 1 milion klientów po 0,30 USD za milion: 0,60 USD. | 4 jednostki w czasie rzeczywistym * 1 milion klientów po 0,30 USD za milion: 1,20 USD. | W przypadku tego konkretnego scenariusza aktualizacji koszt w czasie rzeczywistym jest wyższy w wersji Enterprise. |
| Łączny koszt | 3,60 USD (3,00 USD + 0,60 USD). | 2,25 USD (1,05 USD + 1,20 USD). | W tym scenariuszu obejmującym duże dokumenty (6 KiB) i dużą liczbę klientów wersja Enterprise jest tańsza (2,25 USD w porównaniu z 3,60 USD). |
Dodatkowe przykłady cennika zapytań Real-time Listen w wersji Enterprise
Dla celów ilustracyjnych koszty w poniższych scenariuszach są obliczane przy użyciu stawki us-central1 wynoszącej 0,05 USD za milion jednostek odczytu i 0,30 USD za milion jednostek aktualizacji w czasie rzeczywistym.
| Scenariusz (klienci, rozmiar dokumentu) | Etap 1. Szczegóły zapytania początkowego (synchronizacji) | Etap 1. Zużycie zapytania początkowego | Przykładowy koszt | Etap 2. Szczegóły aktualizacji w czasie rzeczywistym | Etap 2. Zużycie aktualizacji w czasie rzeczywistym | Przykładowy koszt |
| 1 klient, dokumenty o rozmiarze 2 KiB | Zapytanie wykonuje skanowanie kolekcji bez indeksowania 10 000 kolejnych dokumentów,z których każdy ma rozmiar 2 KiB. | 5000 jednostek odczytu | 0,00025 USD (obliczone na podstawie 0,05 USD za milion) | Klient otrzymuje łącznie 1000 dokumentów za pomocą aktualizacji w czasie rzeczywistym, z których każdy ma rozmiar 2 KiB. | 1000 jednostek aktualizacji w czasie rzeczywistym | 0,003 USD (obliczone na podstawie 0,30 USD za milion) |
| 1000 klientów, dokumenty o rozmiarze 2 KiB | Każdy z 1000 klientów wykonuje zapytanie,które skanuje kolekcję bez indeksowania 10 000 kolejnych dokumentów,z których każdy ma rozmiar 2 KiB. | 5 milionów jednostek odczytu | 0,25 USD (obliczone na podstawie 0,05 USD za milion) | Każdy z 1000 klientów otrzymuje łącznie 1000 dokumentów za pomocą aktualizacji w czasie rzeczywistym, z których każdy ma rozmiar 2 KiB. | 1 milion jednostek aktualizacji w czasie rzeczywistym | 0,30 USD (obliczone na podstawie 0,30 USD za milion) |
| 1000 klientów, dokumenty o rozmiarze 6 KiB | Każdy z 1000 klientów wykonuje zapytanie,które skanuje kolekcję bez indeksowania 10 000 kolejnych dokumentów,z których każdy ma rozmiar 6 KiB. | 15 milionów jednostek odczytu | 0,75 USD (obliczone na podstawie 0,05 USD za milion) | Każdy z 1000 klientów otrzymuje łącznie 1000 dokumentów za pomocą aktualizacji w czasie rzeczywistym, z których każdy ma rozmiar 6 KiB. | 2 miliony jednostek aktualizacji w czasie rzeczywistym | 0,60 USD (obliczone na podstawie 0,30 USD za milion) |