Zobacz przykładowy cennik Cloud Firestore

Ten praktyczny przykład podstawowej aplikacji do obsługi czatu pozwala ocenić działanie Cloud Firestore i kosztach. Nie jest to dokładna wartość, ale może pomóc lepiej Omówienie sposobu naliczania opłat za wykorzystanie Cloud Firestore.

Omówienie: koszty według poziomu wykorzystania

Aby przedstawić typowe koszty, przejrzyj przykładową aplikację do obsługi czatu, rozpoczynanie czatów z co najmniej 2 uczestnikami. Użytkownicy mogą zobaczyć swoje aktywne konta czaty na liście, czytanie i wysyłanie wiadomości. W tym przykładzie używając ceny dla wielu regionów Ameryki Północnej (konkretnie nam5).

Założenia

Weź pod uwagę te założenia dotyczące wykorzystania i przechowywania danych:

  • Liczba aktywnych użytkowników dziennie to 10% łącznej liczby instalacji aplikacji. Dostępne opcje oszacuj dzienne koszty na podstawie przybliżonej liczby aktywnych użytkowników dziennie (liczba aktywnych użytkowników dziennie). Są to użytkownicy, którzy aktywnie otwierają Twoją aplikację i korzystają z niej na danym dnia, co zwykle stanowi niewielki podzbiór wszystkich aplikacji. instalacji. W poniższych obliczeniach liczba aktywnych użytkowników dziennie to 10% łączną liczbę instalacji aplikacji.
  • Dokumenty są stosunkowo małe. Zapoznaj się z tabelą poniżej. zestawienie rozmiaru dokumentu według typu.
  • Dane są przechowywane tylko przez 3 miesiące. Wiadomości na przykładowym czacie są przechowywane tylko przez 3 miesiące. Aby uwzględnić usunięcie operacji, poniższe obliczenia pokazują dzienne usunięcie każdego dziennego zapisu.
  • Te szacunkowe koszty odzwierciedlają większość kosztów przykładowej aplikacji, ale nie wszystkie Uwzględniliśmy większość kosztów aplikacji, obliczając operacje, przechowywanie użytkowników i wiadomości oraz ruch wychodzący związany z użytkownikiem, który najczęściej opisane w tym przewodniku. Być może jednak trzeba będzie wziąć pod uwagę dodatkowych kosztów w zależności od struktury aplikacji i potrzeb związanych z danymi. Użyj tej przykład, który pomoże Ci w obliczeniach, ale zapoznaj się z cennikiem. , gdzie znajdziesz dokładniejsze wyjaśnienia kosztów Cloud Firestore.

Podział operacji według zadań użytkownika znajdziesz tutaj: Podział: Rozliczane wykorzystanie według zadania użytkownika.

Mały
(50 tys. instalacji)

W przypadku 50 tys.instalacji aplikacji (5000 aktywnych użytkowników dziennie): 12,14 USD/miesiąc

Koszty odczytu/zapisu
Łączny koszt miesięczny = 11,10 USD/miesiąc
Łączna liczba odczytów dziennie: 400 tys. = 50 tys. bezpłatnych odczytów + (350 tys. odczytów przy 0,06 USD/100 tys.) = 3,5 * 0,06 USD
0,21 USD / dzień * 30 = 6,30 USD
 
Łącznie 100 tys. zapisów dziennie = 20 tys. bezpłatnych zapisów + (80 tys. zapisów po 0,18 USD/100 tys.) = 0,8 * 0,18 USD
0,14 USD / dzień * 30 = 4,20 USD
 
Łącznie 100 tys. usunięć dziennie = 20 tys. bezpłatnych usunięć + (80 tys. usunięć po 0,02/100 tys.) = 0,8 * 0,02 USD
0,02 USD / dzień * 30 = 0,60 USD
Koszty miejsca na dane i sieci
Łączny koszt miesięczny = 1,04 USD/miesiąc
20 KB / dzienna liczba aktywnych użytkowników dziennie * 5 tys. aktywnych użytkowników dziennie = 100 MB dziennego ruchu wychodzącego * 30 = Miesięczny ruch wychodzący z sieci: 3 GB
3 GB bezpłatnego ruchu wychodzącego = bezpłatny1
 
15 KB miejsca na wiadomości dziennie / liczba aktywnych użytkowników dziennie + 3 KB miejsca na dane / instalacja2 = 45 KB miejsca na dane / liczba aktywnych użytkowników dziennie * 5 tys. aktywnych użytkowników dziennie = 225 MB miejsca na dane dziennie / liczba aktywnych użytkowników dziennie * 30 = Miesięczne wykorzystanie miejsca na dane: 6,75 GB
1 GB bezpłatnej przestrzeni dyskowej + (5,75 * 0,18 USD) = 1,04 USD / miesiąc

1 10 GB miesięcznego ruchu wychodzącego z sieci jest bezpłatne w przypadku i Cloud Firestore.
2 Ponieważ zakładamy, że liczba aktywnych użytkowników dziennie stanowią 10% wszystkich aplikacji instalacji, to łączna liczba użytkowników, którzy zainstalowali Twoją aplikację.

Średnie
(1 mln instalacji)

W przypadku 1 mln instalacji aplikacji (100 000 aktywnych użytkowników dziennie): 292,02 USD/miesiąc

Koszty odczytu/zapisu
Łączny koszt miesięczny = 261,90 USD/miesiąc
8 mln odczytów dziennie = 50 tys. bezpłatnych odczytów + (7,95 mln odczytów przy 0,06/100 tys.) = 79,5 * 0,06 USD
4,77 USD / dzień * 30 = 143,10 USD
 
Łącznie 2 mln zapisów dziennie = 20 tys. bezpłatnych zapisów + (1,98 mln przy zapisach w cenie 0,18 USD/100 tys.) = 19,8 * 0,18 USD
3,56 USD / dzień * 30 = 106,80 USD
 
Łącznie 2 mln usunięć dziennie = 20 tys. bezpłatnych usunięć + (1,98 mln usunięć po 0,02/100 tys. USD) = 19,8 * 0,02 USD
0,40 USD / dzień * 30 = 12 USD
Koszty miejsca na dane i sieci
Łączny koszt miesięczny = 30,12 USD/miesiąc
20 KB / dzienna liczba aktywnych użytkowników dziennie * 100 tys. aktywnych użytkowników dziennie = 2 GB dziennego ruchu wychodzącego * 30 = Miesięczny ruch wychodzący z sieci: 60 GB
10 GB bezpłatnego ruchu wychodzącego + (50 GB ruchu wychodzącego * 0,12 USD/GB) = 6,00 USD / miesiąc
 
15 KB miejsca na wiadomości dziennie / liczba aktywnych użytkowników dziennie + 3 KB miejsca na dane / instalacja1 = 45 KB miejsca na dane / liczba aktywnych użytkowników dziennie * 100 tys. aktywnych użytkowników dziennie = 4,5 GB miejsca na dane dziennie / liczba aktywnych użytkowników dziennie * 30 = 135 GB miesięcznie na wykorzystanie miejsca
1 GB bezpłatnej przestrzeni dyskowej + (134 GB * 0,18 USD/GB) = 24,12 USD / miesiąc

1 Zakładamy, że liczba aktywnych użytkowników dziennie stanowią 10% łącznej liczby instalacji aplikacji, to łączna liczba użytkowników, którzy zainstalowali Twoją aplikację.

Duży
(10 mln instalacji)

Dla 10 000 000 instalacji aplikacji (1 000 000 aktywnych użytkowników dziennie): 2951,52 PLN

Koszty odczytu/zapisu
Łączny koszt miesięczny = łącznie: 2637,90 USD/miesiąc
80 mln odczytów dziennie = 50 tys. bezpłatnych odczytów + (79,95 mln odczytów przy 0,06/100 tys.) = 799,5 * 0,06 USD
47,97 USD / dzień * 30 = 1439,10 USD
 
Łącznie 20 mln zapisów dziennie = 20 tys. bezpłatnych zapisów + (19,98 mln przy zapisach w cenie 0,18 USD/100 tys.) = 199,8 * 0,18 USD
35,96 PLN / dzień * 30 = 1078,80 PLN
 
Łącznie 20 mln usunięć dziennie = 20 tys. bezpłatnych usunięć + (19,98 mln usunięć po 0,02/100 tys. USD) = 199,8 * 0,02 USD
4,00 USD / dzień * 30 = 120 USD
Koszty miejsca na dane i sieci
Łączny koszt miesięczny = 313,62 USD/miesiąc
20 KB / dzienna liczba aktywnych użytkowników dziennie * 1 mln aktywnych użytkowników dziennie = 20 GB dziennego ruchu wychodzącego * 30 = Miesięczny ruch wychodzący z sieci: 600 GB
10 GB bezpłatnego ruchu wychodzącego + (590 GB ruchu wychodzącego * 0,12 USD/GB) = 70,80 USD / miesiąc
 
15 KB miejsca na wiadomości dziennie / liczba aktywnych użytkowników dziennie + 3 KB miejsca na dane / instalacja1 = 45 KB miejsca na dane / liczba aktywnych użytkowników dziennie * 1 mln aktywnych użytkowników dziennie = 45 GB miejsca na dane dziennie / liczba aktywnych użytkowników dziennie * 30 = Miesięczne wykorzystanie miejsca na dane (1350 GB)
(1 GB bezpłatnego miejsca na dane) + (1349 GB * 0,18 USD/GB) = 242,82 USD miesięcznie

1 Zakładamy, że liczba aktywnych użytkowników dziennie stanowią 10% łącznej liczby instalacji aplikacji, to łączna liczba użytkowników, którzy zainstalowali Twoją aplikację.

Zaletą modelu rozliczeniowego Cloud Firestore warto wziąć pod uwagę to, że płacić za to, z czego korzystasz. W efekcie Twój rachunek może się zwiększać lub zmniejszać wraz ze Liczba aktywnych użytkowników dziennie.

Zestawienie: Rozliczane wykorzystanie według zadania użytkownika

W przypadku naszej przykładowej aplikacji do obsługi czatu struktura danych wygląda tak:

  • users/{userId} – rekordy użytkownika
  • groups/{groupId} – czaty z co najmniej 2 użytkownikami
    • messages/{messageId} – każda wiadomość na czacie.

Miejsce na dane

Aby obliczyć koszty przechowywania danych z aplikacji, zastosuj się do tych wskazówek: założenia dotyczące rozmiarów dokumentów:

Kolekcja Rozmiar dokumentu (w trakcie przesyłania) Rozmiar dokumentu (na dysku)*
użytkownicy 1KB 3KB
grupy 0,5 KB 1,5 KB
wiadomości 0,25 KB 0,75 KB

*Obliczenie rozmiaru uwzględnia indeksy pól wiadomości, ale zakłada, że indeksowanie treści wiadomości jest wyłączone.

Aplikacja przechowuje również wiadomości nie starsze niż 3 miesiące, aby obniżyć koszty przechowywania danych.

Więcej informacji na temat obliczania kosztów miejsca na dane znajdziesz w sekcji Jak obliczać ilość miejsca na dane

Operacje

Użytkownicy zwykle wykonują w aplikacji te typowe czynności:

Szacowana łączna liczba operacji z przykładowej aplikacji w Cloud Firestore dla 3 użytkowników typowe zadania użytkownika są następujące:

  • Odczyty: (5 * 10) + (30) = 80 odczytów na użytkownika/dzień
  • Zapisy: (10 * 2) = 20 zapisów / użytkownik / dzień
  • Ruch wychodzący z sieci: (50 * 0,25 KB) + (30 * 0,25 KB) = 20 KB na użytkownika/dzień
  • Miejsce na dane: (20 * 0,75 KB) = 15 KB na użytkownika/dzień

Łączne wykorzystanie według działania użytkownika

Wybierz zadanie użytkownika, aby zobaczyć pełny opis i zestawienie operacji. miejsca na dane i koszty sieci w aplikacji.

Wyświetlanie listy czatów

Ekran główny aplikacji wczytuje 25 ostatnich czatów, które są wysyłane opłaty za 25 odczytów dokumentów. Zakładamy, że aktywny użytkownik otwiera aplikację 5 razy dziennie, co daje łącznie 125 odczytów na użytkownika dziennie. Jednak bardziej efektywne takie jak poniżej, mogą ograniczyć to obciążenie.

W poniższym przykładzie ograniczamy zapytanie do nowych czatów, używając sygnatury czasowej każdego udanego pobrania, zapisanej przez aplikację:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

Załóżmy, że przy każdym sprawdza aplikację. To zapytanie wywołuje tylko 10 odczytów dokumentów.

Czytanie wiadomości na czacie

Użytkownicy mogą klikać wątki czatu na ekranie głównym, aby zobaczyć ostatnie. wiadomości, wczytując przy początkowym wczytywaniu 50 najnowszych wiadomości.

Załóżmy, że typowy użytkownik wykonuje to działanie 5 razy dziennie (raz na za każdym razem, gdy otwierają ekran główny. Łączna liczba użytkowników odczytów na użytkownika dziennie. Możemy też ograniczyć zapytanie do nowych wiadomości, od ostatniego pobierania:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

Załóżmy, że użytkownik otrzymuje około 30 wiadomości dziennie ze wszystkich czatów. Od jeśli zapytanie nie pobiera nowych wiadomości, to oznacza do 30 wiadomości dziennie.

Wysyłanie wiadomości na czacie

Użytkownicy mogą wysyłać wiadomości do innych uczestników w trakcie czatu. Załóżmy, że aktywny użytkownik wysyła około 10 wiadomości dziennie.

Każda wysłana wiadomość spowoduje dwa zapisy dokumentu: jeden zapis w messages podkolekcja czatu i jeden zapis w czacie dokument nadrzędny, aby zaktualizować sygnaturę czasową lastUpdated i inne metadanych.

Pamiętaj, że koszt czytania tych wiadomości został uwzględniony w innych podróży, więc poniższe sumy uwzględniają tylko koszt zapisu.

Rozliczane za wykorzystanie zadań administracyjnych

Jako właściciel lub administrator aplikacji prawdopodobnie chcesz generować raporty do danych aplikacji. Możesz na przykład sprawdzać dzienną liczbę liczbę wiadomości wysłanych przez użytkowników. Możesz to osiągnąć za pomocą count() – agregacja danych messages grupa kolekcji.

W przypadku zapytań agregujących, takich jak count(), naliczana jest opłata za 1 przeczytany dokument dla każdej grupy maksymalnie 1000 wpisów indeksu pasujących do zapytania. Uruchamiam agregacja dzienna dodaje te opłaty miesięczne:

Mały
(50 tys. instalacji)

W przypadku 50 tys.instalacji aplikacji (5000 dziennie aktywnych użytkowników dziennie): 0,0009 USD/miesiąc

5000 aktywnych użytkowników * 10 nowych wiadomości na użytkownika = 50 000 nowych dokumentów wiadomości dziennie

50 000 dokumentów / 1000 dopasowań indeksu na opłatę za odczyt = 50 odczytów

50 odczytów dziennie * 30 dni = 1500 odczytów na miesiąc

1500 odczytów miesięcznie * 0,06/100 000 cen odczytu = 0,0009 USD miesięcznie

Średnie
(1 mln instalacji)

W przypadku 1 mln instalacji aplikacji (100 000 aktywnych użytkowników dziennie): 0,018 USD/miesiąc

100 000 aktywnych użytkowników * 10 nowych wiadomości na użytkownika = 1 000 000 nowych dokumentów wiadomości dziennie

1 000 000 dokumentów / 1000 dopasowań indeksu na opłatę za odczyt = 1000 odczytów

1000 odczytów dziennie * 30 dni = 30 000 odczytów na miesiąc

30 000 odczytów miesięcznie * 0,06/100 000 ceny odczytu = 0,018 USD za miesiąc

Duży
(10 mln instalacji)

W przypadku 10 000 000 instalacji aplikacji (1 000 000 aktywnych użytkowników dziennie): 0,18 USD

1 000 000 aktywnych użytkowników * 10 nowych wiadomości na użytkownika = 10 000 000 nowych dokumentów wiadomości dziennie

10 000 000 dokumentów / 1000 dopasowań indeksu na opłatę za odczyt = 10 000 odczytów

10 000 odczytów dziennie * 30 dni = 300 000 odczytów miesięcznie

300 000 odczytów miesięcznie * 0,06/100 000 ceny odczytu = 0,18 USD za miesiąc

Korzyści: bezpłatne usługi związane z aplikacją

Operacje w Cloud Firestore, miejsce na dane i przepustowość sieci to wszystko jest uznawane za płatne wykorzystanie, otrzymujesz także wiele innych korzyści bez za dodatkowe koszty. Możesz skorzystać z tych bezpłatnych usług, porównaj Cloud Firestore z innymi opcjami baz danych:

  • Bezpośredni dostęp klienta: dostęp do Cloud Firestore uzyskuje się bezpośrednio z za pomocą naszych natywnych pakietów SDK. Oznacza to, że nie trzeba tworzyć i uruchomić serwer API, aby połączyć klienty mobilne z bazą danych.
  • Równoważenie obciążenia: Cloud Firestore skaluje się automatycznie, ruchu do bazy danych, nie musisz uruchamiać systemu równoważenia obciążenia.
  • Dostępność serwera: bazy danych Cloud Firestore działają na serwerach Google Cloud, oferując ponad 99% miesięcznej dostępności.
  • Uwierzytelnianie: w prosty i bezpieczny sposób uwierzytelnij nieograniczoną liczbę użytkowników za pomocą Uwierzytelnianie Firebase. Uwierzytelnianie Firebase integruje się bezpośrednio z Cloud Firestore, więc nie trzeba uruchamiać własnych uwierzytelniania.
  • Powiadomienia push: wysyłaj wiadomości i powiadomienia przy użyciu Komunikacja w chmurze.
  • Inne usługi Firebase: możesz bezpłatnie zintegrować inne usługi Firebase, takich jak Testy A/B, Analytics, Crashlytics, Monitorowanie wydajności, oraz Zdalna konfiguracja. Dowiedz się więcej o innych usługach Firebase. i cennik Firebase.