Cloud Firestore fiyatlandırma örneğine bakın

Bulut firestore kullanımınızı ve maliyetlerinizi ölçmek için temel bir sohbet uygulamasının bu gerçek dünya örneğini kullanın. Bu kesin bir tahmin değildir, ancak bulut firestore kullanımınızın nasıl faturalandırıldığını daha iyi anlamanıza yardımcı olabilir.

Genel Bakış: Kullanım düzeyine göre maliyetler

Tipik maliyetleri göstermek için kullanıcıların iki veya daha fazla katılımcıyla sohbet başlatabildiği örnek bir sohbet uygulamasını düşünün. Kullanıcılar aktif sohbetlerini bir listede görebilir, mesajları okuyabilir ve mesaj gönderebilir. Bu örnek için, Kuzey Amerika çok bölgesi (özellikle nam5 ) için fiyatlandırma kullanıyoruz.

Varsayımlar

Kullanım ve veri depolamayla ilgili aşağıdaki varsayımları göz önünde bulundurun:

  • Günlük Aktif Kullanıcı Sayısı (DAU'lar), toplam uygulama yüklemelerinin %10'unu oluşturur. Günlük Aktif Kullanıcılarınızın (DAU'lar) kaba bir tahminini kullanarak günlük maliyetlerinizi tahmin edebilirsiniz. Bunlar, genellikle toplam uygulama yüklemelerinizin küçük bir alt kümesi olan belirli bir günde uygulamanızı aktif olarak açan ve kullanan kullanıcılardır. Aşağıdaki hesaplamalar için GEKS'leri toplam uygulama yükleme sayısının %10'u olarak tahmin ettik.
  • Belge boyutları nispeten küçüktür. Türe göre belge boyutunun dökümü için aşağıdaki tabloya bakın.
  • Veriler yalnızca üç ay süreyle saklanır. Örnek sohbet uygulamasındaki mesajlar yalnızca üç aylık bir süre boyunca saklanır. Silme işlemlerini hesaba katmak için aşağıdaki hesaplamalar, her günlük yazma işlemi için günlük silme işlemini gösterir.
  • Bu maliyet tahminleri, örnek uygulamanın maliyetlerinin büyük kısmını yansıtır, ancak hepsini yansıtmaz. Bu kılavuzda özetlenen en sık kullanıcı görevlerine yönelik işlemleri, kullanıcı ve mesaj depolamayı ve çıkışı hesaplayarak bir uygulamanın maliyetlerinin büyük kısmını hesaba kattık. Ancak uygulamanızın yapısına ve veri ihtiyaçlarına bağlı olarak ek maliyetleri de hesaba katmanız gerekebilir. Hesaplamalarınızı yönlendirmek için bu örneği kullanın, ancak bulut firestore maliyetlerinin daha kapsamlı açıklamaları için fiyatlandırma sayfasına bakın.

İşlemlerin kullanıcı görevine göre dökümü için Arıza: Kullanıcı görevine göre faturalandırılan kullanım bölümüne bakın.

Küçük
(50k kurulum)

50.000 uygulama yüklemesi için (5.000 Günlük Aktif Kullanıcı): 12,14 USD/ay

Okuma/Yazma Maliyetleri
Toplam aylık maliyet = 11,10 ABD doları/ay
Toplam 400.000 günlük okuma = 50.000 Ücretsiz okuma + (350.000 okuma: 0,06 USD/100.000) = 3.5 * 0,06 $
0,21 $ / gün * 30 = 6.30 $
Toplam 100.000 günlük yazma = 20.000 Ücretsiz yazma + (80.000 yazma 0,18 USD/100.000'den) = 0,8 * 0,18 ABD doları
0,14 ABD doları / gün * 30 = 4,20 ABD doları
Toplam günlük 100.000 silme işlemi = 20K Maliyet No Seles + (80K Silme 0,02/100K) = 0,8 * 0,02 ABD doları
0,02 ABD doları / gün * 30 = 0,60 ABD doları
Depolama/Ağ Maliyetleri
Toplam aylık maliyet = 1,04 ABD doları/ay
20 KB / GEKS günlük çıkış * 5.000 GEKS = 100 MB günlük çıkış * 30 = Aylık 3 GB ağ çıkışı
3 GB Ücretsiz çıkış = Ücretsiz 1
15KB günlük mesaj depolama / DAU + 3KB depolama / yükleme 2 = 45KB depolama / GEKS * 5K GEKS = 225 MB günlük depolama alanı / GEKS * 30 = 6,75 GB aylık depolama kullanımı
1 GB Ücretsiz depolama + (5,75 * 0,18 USD) = aylık 1,04 USD

1 10GB aylık ağ çıkışı bulut Firestore için maliyetlidir.
2 Varsayımımız, DAU'ların toplam uygulama yüklemelerinin% 10'u olduğu olduğundan, bu sayı uygulamanızı yükleyen toplam kullanıcı sayısını açıklar.

Orta
(1m kurulum)

1.000.000 uygulama yüklemesi için (100.000 Günlük Aktif Kullanıcı): 292,02 USD/ay

Okuma/Yazma Maliyetleri
Toplam aylık maliyet = 261,90 ABD doları/ay
Günlük toplam 8 milyon okuma = 50.000 Ücretsiz okuma + (0,06 ABD Doları/100.000'den 7,95 milyon okuma) = 79,5 * 0,06 ABD doları
4,77 ABD doları / gün * 30 = 143,10 ABD doları
Toplam 2 milyon günlük yazma = 20.000 Ücretsiz yazma + (1,98 milyon yazma, 0,18 USD/100.000) = 19,8 * 0,18 ABD doları
3,56 ABD doları / gün * 30 = 106,80 ABD doları
2M Toplam Günlük Silmeler = 20.000 Ücretsiz silme + (0,02 USD/100.000'den 1,98 milyon silme) = 19,8 * 0,02$
0,40 ABD doları / gün * 30 = 12,00 ABD doları
Depolama/Ağ Maliyetleri
Toplam aylık maliyet = 30,12 ABD doları/ay
20kb / dau günlük çıkış * 100K daus = 2GB günlük çıkış * 30 = 60 GB aylık ağ çıkışı
10 GB Ücretsiz çıkış + (50 GB çıkış * 0,12 USD/GB) = 6,00 USD/ay
15KB Günlük Mesaj Depolama / DAU + 3KB Depolama / Kurulum 1 = 45KB depolama / GEKS * 100K GEKS = 4.5GB günlük depolama / dau * 30 = 135 GB aylık depolama kullanımı
1 GB Ücretsiz depolama + (134 GB * 0,18 USD/GB) = 24,12 USD/ay

1 GEKS'lerin toplam uygulama yüklemelerinin %10'unu oluşturduğu varsayımımız nedeniyle bu sayı, uygulamanızı yükleyen toplam kullanıcı sayısını oluşturur.

Büyük
(10m kurulum)

10.000.000 uygulama yüklemesi için (1.000.000 Günlük Aktif Kullanıcı): 2.951,52 USD

Okuma/Yazma Maliyetleri
Toplam aylık maliyet = Toplam: 2637,90 $/ay
Toplam günlük 80 milyon okuma = 50.000 Ücretsiz okuma + (0,06 ABD Doları/100.000 karşılığında 79,95 milyon okuma) = 799,5 * 0,06 ABD doları
47,97 ABD doları / gün * 30 = 1.439,10 ABD doları
Toplam günlük 20 milyon yazma = 20.000 Ücretsiz yazma + (0,18 USD/100.000 $'dan 19,98 milyon yazma) = 199,8 * 0,18 ABD doları
35,96 ABD doları / gün * 30 = 1.078,80 ABD doları
Günlük toplam 20 milyon silme = 20.000 Ücretsiz silme + (0,02 ABD Doları/100.000'den 19,98 milyon silme) = 199,8 * 0,02 ABD doları
4.00 $ / gün * 30 = 120,00 $
Depolama/Ağ Maliyetleri
Toplam aylık maliyet = 313,62 ABD doları/ay
20kb / dau günlük çıkış * 1m daus = 20 GB günlük çıkış * 30 = 600 GB aylık ağ çıkışı
10 GB Ücretsiz çıkış + (590 GB çıkış * 0,12 USD/GB) = 70,80 USD/ay
15KB Günlük Mesaj Depolama / DAU + 3KB Depolama / Kurulum 1 = 45 KB depolama / GEKS * 1 milyon GEKS = 45GB günlük depolama / dau * 30 = 1350GB aylık depolama kullanımı
(1 GB Ücretsiz depolama) + (1349 GB * 0,18 USD/GB) = 242,82 USD/ay

1 GEKS'lerin toplam uygulama yüklemelerinin %10'unu oluşturduğu varsayımımız nedeniyle bu sayı, uygulamanızı yükleyen toplam kullanıcı sayısını oluşturur.

Bulut Firestore faturalandırma modelinin dikkate değer bir yararı, sadece kullandığınız şey için ödeme yapmanızdır. Sonuç olarak faturanız GEKS sayınız ile birlikte büyüyüp küçülebilir.

Döküm: Kullanıcı görevine göre faturalandırılan kullanım

Örnek sohbet uygulamamız için veri yapısı aşağıdaki gibidir:

  • users/{userId} - Kullanıcı Kayıtları
  • groups/{groupId} - 2 veya daha fazla kullanıcı arasındaki sohbetler
    • messages/{messageId} - Sohbetteki her mesaj.

Veri depolama

Uygulama verilerinin depolanmasına ilişkin depolama maliyetlerini hesaplamak için belge boyutlarıyla ilgili aşağıdaki varsayımları uygulayın:

Toplamak Belge Boyutu (taşıma sırasında) Belge Boyutu (diskte)*
kullanıcılar 1KB 3KB
gruplar 0,5KB 1,5KB
mesajlar 0.25KB 0.75KB

*Bu boyut hesaplaması mesaj alanlarına ilişkin dizinleri içerir ancak ileti içeriği için dizin oluşturmanın devre dışı bırakıldığını varsayar.

Uygulama ayrıca depolama maliyetlerini düşürmek için yalnızca üç aya kadar olan mesajları saklar.

Depolama maliyetlerini hesaplama hakkında daha fazla bilgi için bkz. Depolama boyutu hesaplamalarını anlama .

Operasyonlar

Kullanıcılar genellikle uygulamada aşağıdaki ortak görevleri tamamlar:

Üç tipik kullanıcı görevi için Cloud Firestore'daki örnek uygulamanın toplam tahmini işlemleri aşağıdaki gibidir:

  • Okuma Sayısı: (5*10) + (30) = 80 okuma/kullanıcı/gün
  • Yazma: (10*2) = 20 yazma/kullanıcı/gün
  • Ağ Çıkışı : (50 * 0,25KB) + (30 * 0,25KB) = 20KB / kullanıcı / gün
  • Depolama : (20 * 0.75kb) = 15 kb / kullanıcı / gün

Kullanıcı Görevine Göre Toplam Kullanım

Uygulamadaki işlemlerin, depolamanın ve ağ oluşturma maliyetlerinin tam açıklamasını ve dökümünü görmek için her bir kullanıcı görevini seçin.

Sohbetlerin listesine bakın

Uygulamanın ana ekranı en son 25 sohbeti yükler ve 25 belge okuması için ücret alınır. Aktif bir kullanıcının uygulamayı günde 5 kez açtığını, yani her gün kullanıcı başına toplam 125 okumanın gerçekleştiğini varsayalım. Ancak aşağıdaki örnekte olduğu gibi daha verimli sorgular bu yükü azaltabilir.

Aşağıdaki örnekte, her başarılı getirmenin uygulama tarafından saklanan zaman damgasını kullanarak sorguyu yeni sohbetlerle sınırlandırıyoruz:

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

Kullanıcı uygulamayı her kontrol ettiğinde ortalama 10 güncellenen sohbetin olduğunu varsayalım. Bu sorgu yalnızca 10 belge okumasına neden olur.

Sohbetteki mesajları okuma

Kullanıcılar en son mesajları görmek için ana ekrandan sohbet konularını tıklar ve en son 50 mesaj ilk yüklemeye yüklenir.

Tipik kullanıcının bu eylemi günde 5 kez gerçekleştirdiğini (ana ekranı her açtıklarında bir kez) gerçekleştirdiğini ve her gün kullanıcı başına toplam 250 okumaya yol açtığını varsayın. Sorgumuzu son getirme zamanından bu yana yeni iletilerle de sınırlandırabiliriz:

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

Bir kullanıcının tüm sohbetlerde günde yaklaşık 30 mesaj aldığını varsayalım. Sorguyu yeni mesajları getirecek şekilde sınırladığınız için bu, günde yalnızca 30 mesajın alınması anlamına gelir.

Sohbete mesaj gönderme

Kullanıcılar sohbete girdikten sonra diğer katılımcılara mesaj gönderebilir. Aktif bir kullanıcının günde yaklaşık 10 mesaj gönderdiğini varsayalım.

Gönderilen her mesaj iki belge yazmasına neden olur: Biri sohbetin messages alt koleksiyonuna yazma ve diğeri Sohbet Eşyası belgesine lastUpdated zaman damgasını ve diğer meta verileri güncellemek için yazın.

Bu mesajları okumanın maliyetinin diğer yolculuklarda hesaba katıldığını unutmayın; dolayısıyla aşağıdaki toplamlar yalnızca bu yazma maliyetini dikkate alır.

Yönetici görevleri için faturalandırılmış kullanım

Bir uygulama sahibi veya yöneticisi olarak muhtemelen uygulamanızın verilerinden raporlar oluşturmak istersiniz. Örneğin, kullanıcılarınız tarafından gönderilen mesajların günlük sayısını tutmak isteyebilirsiniz. Bunu messages Toplama Grubunun count() toplama ile gerçekleştirebilirsiniz.

count() gibi toplama sorguları için, sorgu ile eşleşen her 1.000 dizin girişinden oluşan her bir grup için bir belge okunur. Bu günlük toplamayı çalıştırdığınızda aşağıdaki aylık ücretler eklenir:

Küçük
(50k kurulum)

50.000 uygulama yüklemesi için (5.000 DAU): 0,0009 ABD doları/ay

5.000 aktif kullanıcı * Kullanıcı başına 10 yeni mesaj = günde 50.000 yeni mesaj belgesi

Sayılan 50.000 belge / okuma ücreti başına 1.000 dizin eşleşmesi = 50 okuma

Günde 50 okuma * 30 gün = ayda 1.500 okuma

Ayda 1.500 okuma * 0,06/100.000 okuma fiyatı = ayda 0,0009 USD

Orta
(1m kurulum)

1.000.000 uygulama yüklemesi için (100.000 Günlük Aktif Kullanıcı): 0,018 USD/ay

100.000 aktif kullanıcı * kullanıcı başına 10 yeni mesaj = günde 1.000.000 yeni mesaj dokümanı

Sayılan 1.000.000 belge / okuma ücreti başına 1.000 dizin eşleşmesi = 1.000 okuma

Günde 1.000 okuma * 30 gün = ayda 30.000 okuma

Ayda 30.000 okuma * .06/100.000 okuma fiyatı = aylık 0,018 $

Büyük
(10m kurulum)

10.000.000 uygulama yüklemesi için (1.000.000 Günlük Aktif Kullanıcı): 0,18 USD

1.000.000 aktif kullanıcı * kullanıcı başına 10 yeni mesaj = günde 10.000.000 yeni mesaj dokümanı

Sayılan 10.000.000 belge / okuma ücreti başına 1.000 dizin eşleşmesi = 10.000 okuma

Günde 10.000 okuma * 30 gün = ayda 300.000 okuma

Ayda 300.000 okuma * .06/100000 okuma fiyatı = aylık 0,18 $

Avantajlar Dahil: Uygulamanız için Ücretsiz Hizmetler

Bulut Firestore işlemleri, depolama ve ağ bant genişliği faturalandırılabilir kullanım olarak kabul edilirken, ek bir maliyet olmadan çeşitli diğer avantajlar da elde edersiniz. Cloud Firestore'u diğer veritabanı seçenekleriyle karşılaştırdığınız için ücretsiz olarak aşağıdaki hizmetleri göz önünde bulundurun:

  • Doğrudan İstemci Erişim: Cloud Firestore, yerel SDK'larımızı kullanarak doğrudan istemci kodunuzdan erişilir. Bu, mobil istemcilerinizi veritabanına bağlamak için bir API sunucusu oluşturmanız ve çalıştırmanız gerekmediği anlamına gelir.
  • Yük Dengeleme: Cloud Firestore, veritabanınıza trafiği desteklemek için otomatik olarak ölçeklendirildiğinden, bir yük dengeleyicisi çalıştırmanız gerekmez.
  • Sunucu çalışma süresi: Cloud Firestore veritabanları, aylık% 99'dan fazla çalışma süresi sunan Google Cloud sunucularında çalışır.
  • Kimlik Doğrulama: Sınırsız kullanıcıları Firebase kimlik doğrulaması ile basit ve güvenli bir şekilde doğrulayın. Firebase kimlik doğrulaması doğrudan Cloud Firestore ile entegre olur, böylece kendi kimlik doğrulama hizmetinizi çalıştırmanız gerekmez.
  • Push bildirimleri: Bulut mesajlaşmasıyla mesajlar ve bildirimler gönderin.
  • Diğer Firebase Ürünleri: A/B testi, analitik, çökme, performans izleme ve uzaktan yapılandırma dahil olmak üzere diğer Firbase ürünlerini ücretsiz olarak entegre edin. Diğer Firebase ürünleri ve Firebase fiyatlandırması hakkında daha fazla bilgi edinin.