Oto kilka przykładów, które pomogą Ci zrozumieć ceny Firestore w wersji Enterprise w różnych scenariuszach.
Przykład ceny zapytania
Scenariusz: zapytanie filtruje pole username o wartości ilovefirebase w kolekcji zawierającej 100 dokumentów, z których każdy ma rozmiar 2 KiB. Załóżmy, że jest tylko jeden element username o wartości ilovefirebase. To samo zapytanie jest wykonywane milion razy.
| Activity | Wersja standardowa (zapytanie indeksowane automatycznie) | Wersja Enterprise (zapytanie indeksowane) | Wersja Enterprise (skanowanie nieindeksowanej kolekcji) |
| Stan indeksowania | 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żytkownika o rozmiarze 200 KiB. |
| Jednostki odczytu na zapytanie | Koszt naliczany jest za 1 odczyt. | Koszt wynosi 2 jednostki odczytu (1 za skanowanie indeksu i 1 za odczyt dokumentu). | Koszt wynosi 50 jednostek odczytu (100 dokumentów po 2 KiB = 200 KiB łącznie). 200 KiB / 4 KiB na jednostkę = 50 jednostek). |
| Całkowity koszt (za 1 mln zapytań) | 0,30 USD za milion zapytań (1 odczyt w cenie 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
- Indeksowane zapytanie: to samo zapytanie w wersji Enterprise kosztuje 0,10 USD za milion z ręcznie utworzonym indeksem w polu nazwy użytkownika.
- Zapytanie skanujące nieindeksowaną kolekcję: zapytanie skanujące nieindeksowaną kolekcję w wersji Enterprise kosztuje 2,50 USD za milion, czyli znacznie więcej niż 0,30 USD za równoważny odczyt automatycznie indeksowany w wersji Standard. Pokazuje to, że wykonywanie zapytań bez indeksów może prowadzić do nieefektywnego i kosztownego wykonywania.
- Korzyści cenowe: 0,10 USD za milion jednostek odczytu to 3-krotnie niższa cena niż koszt odczytu indeksowanego w wersji Standard. Pokazuje to niską cenę podstawową jednostki odczytu w wersji Enterprise, gdy zapytania są zoptymalizowane.
Przykład cen w czasie rzeczywistym
Więcej informacji o cenach znajdziesz w artykule Ceny w czasie rzeczywistym.
Scenariusz 1: milion klientów wysyła zapytania o 10 najnowszych postów w kolekcji (indeksowanej na podstawie sygnatury czasowej). Każdy post ma rozmiar 6 KiB. Dwa z tych postów są następnie aktualizowane, co powoduje przekazywanie aktualizacji w czasie rzeczywistym do klientów.
| Activity | Wersja standardowa | Wersja Enterprise | Najważniejsze informacje o cenach |
| Model cenowy | Za zapytanie początkowe i aktualizacje w czasie rzeczywistym opłaty są naliczane za odczytany dokument. | Za zapytanie początkowe naliczana jest opłata w jednostkach odczytu (transza 4 KiB).
Aktualizacje w czasie rzeczywistym korzystają z osobnego kodu SKU aktualizacji w czasie rzeczywistym. |
Wersja Enterprise korzysta z ceny jednostkowej odczytu, aby zapewnić tańsze odczyty początkowe. |
| Pierwsze odczytanie (początkowa synchronizacja 10 postów z dokumentami o rozmiarze 6 KiB) | Za każdego klienta naliczanych jest 10 odczytów (rozmiar dokumentu nie ma znaczenia). | Za każdego klienta naliczane jest 21 jednostek odczytu.
(1 jednostka odczytu w przypadku skanowania 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 w porównaniu z 10), ale w znacznie niższej cenie za jednostkę. |
| Koszt pierwszego odczytu (za 1 mln) | 10 odczytów * 1 mln klientów po 0,30 USD za milion: 3,00 USD. | 21 jednostek odczytu * 1 mln klientów przy cenie 0,05 USD za milion: 1,05 USD. | Wersja Enterprise jest 4 razy tańsza w przypadku pierwszego odczytu. |
| Aktualizacje w czasie rzeczywistym (2 aktualizacje dokumentów o rozmiarze 6 KB) | Nastąpią 2 odczyty (2 zaktualizowane dokumenty). | Zostaną naliczone 4 jednostki aktualizacji w czasie rzeczywistym (2 jednostki aktualizacji w czasie rzeczywistym na dokument o rozmiarze 6 KiB * 2 aktualizacje w czasie rzeczywistym). | W wersji Enterprise aktualizacje w czasie rzeczywistym są dostępne w ramach osobnego kodu SKU. |
| Koszt w czasie rzeczywistym (na 1 mln klientów) | 2 odczyty * 1 mln klientów po 0,30 USD za milion: 0,60 USD. | 4 jednostki czasu rzeczywistego * 1 mln 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. |
| Całkowity koszt | 3,60 zł (3,00 zł + 0,60 zł). | 2,25 zł (1,05 zł + 1,20 zł). | Wersja Enterprise jest tańsza (2,25 USD w porównaniu z 3,60 USD) w tym scenariuszu obejmującym duże dokumenty (6 KiB) i dużą liczbę zapytań. |
Dodatkowe przykłady cen zapytań Real-time Listen w wersji Enterprise
Przykładowe koszty w poniższych scenariuszach obliczono na podstawie 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 (synchronizacja) | Etap 1. Początkowe wykorzystanie zapytań | Przykładowy koszt | Etap 2. Szczegóły aktualizacji w czasie rzeczywistym | Etap 2. Korzystanie z aktualizacji w czasie rzeczywistym | Przykładowy koszt |
| 1 klient, dokumenty o rozmiarze 2 KiB | Zapytanie wykonuje skanowanie nieindeksowanej kolekcji 10 tys. kolejnych dokumentów o rozmiarze 2 KiB każdy. | 5000 jednostek odczytu | 0,00025 USD (obliczone na podstawie 0,05 USD za milion) | Klient otrzymuje łącznie 1000 dokumentów przy użyciu aktualizacji w czasie rzeczywistym, a każdy dokument 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 | 1000 klientów wykonuje zapytanie, które skanuje nieindeksowaną kolekcję 10 000 kolejnych dokumentów o rozmiarze 2 KiB każdy. | 5 milionów jednostek odczytu | 0,25 USD (obliczone na podstawie 0,05 USD za milion) | 1000 klientów otrzymuje łącznie 1000 dokumentów za pomocą aktualizacji w czasie rzeczywistym, przy czym każdy dokument 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 | 1000 klientów wykonuje zapytanie, które skanuje nieindeksowaną kolekcję 10 000 kolejnych dokumentów o rozmiarze 6 KiB każdy. | 15 milionów jednostek odczytu | 0,75 USD (obliczone na podstawie 0,05 USD za milion) | 1000 klientów otrzymuje łącznie 1000 dokumentów przy użyciu aktualizacji w czasie rzeczywistym, a każdy z nich ma rozmiar 6 KiB. | 2 miliony jednostek aktualizacji w czasie rzeczywistym | 0,60 USD (obliczone na podstawie 0,30 USD za milion) |