Cloud Firestore fiyatlandırma örneğini inceleyin

Cloud Firestore kullanımınızı ve maliyetlerinizi ölçmek için bu gerçek hayattan temel sohbet uygulaması örneğini kullanın. Bu kesin bir tahmin değildir ancak Cloud 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

Olağan maliyetleri açıklamak 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 etkin sohbetlerini liste halinde görebilir, mesajları okuyabilir ve mesaj gönderebilir. Bu örnekte, Kuzey Amerika çoklu 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 Etkin Kullanıcı Sayısı (GEKS), toplam uygulama yükleme sayısının% 10'unu oluşturur. Günlük etkin kullanıcı sayınıza (GEKS) dair kaba bir tahmin kullanarak günlük maliyetlerinizi tahmin edebilirsiniz. Bunlar, belirli bir günde uygulamanızı etkin bir şekilde açıp kullanan kullanıcılardır. Bu, genellikle toplam uygulama yükleme sayınızın küçük bir alt kümesini ifade eder. Aşağıdaki hesaplamalarda GEKS'nin, toplam uygulama yükleme sayısının% 10'u olduğunu tahmin ettik.
  • Belge boyutları nispeten küçüktür. Belge boyutunun türe göre dökümü için aşağıdaki tabloya bakın.
  • Veriler yalnızca üç ay boyunca saklanır. Örnek sohbet uygulamasındaki mesajlar yalnızca üç ay boyunca saklanır. Silme işlemlerini hesaba katmak için aşağıdaki hesaplamalar, her günlük yazma işlemi için bir günlük silme işlemini gösterir.
  • Bu maliyet tahminleri, örnek uygulamanın maliyetlerinin tamamını olmasa da büyük kısmını yansıtır. Bu kılavuzda özetlenen en sık kullanıcı görevleri için işlemleri, kullanıcı ve mesaj depolama alanını ve çıkış sayısını 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 dikkate almanız gerekebilir. Hesaplamalarınızı yönlendirmek için bu örneği kullanın ancak Cloud Firestore'un maliyetleriyle ilgili daha ayrıntılı açıklamalar için fiyatlandırma sayfasına bakın.

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

Küçük
(50 bin yükleme)

50.000 uygulama yüklemesi (5.000 Günlük Etkin Kullanıcı) için: Ayda 12,14 ABD doları

Okuma/Yazma Maliyetleri
Toplam aylık maliyet = Ayda 11,10 ABD doları
Günlük toplam 400 bin okuma =   50.000 ücretsiz okuma + (100.000 ABD doları başına 350.000 okuma) =   3,5 * 0,06 ABD doları
0,21 TL / gün * 30 = 6,30 TL
 
Günlük toplam 100 bin yazma =   20.000 ücretsiz yazma + (0,18/100.000 ABD dolarından 80.000 yazma) =   0,8 * 0,18 ABD doları
0,14 TL / gün * 30 = 4,20 TL
 
Günlük toplam 100 bin silme =   20 bin ücretsiz silme + (0,02/100 bin ABD doları karşılığında 80 bin silme) =   0,8 * 0,02 ABD doları
0,02 ABD doları / gün * 30 = 0,60 ABD doları
Depolama/Ağ iletişimi Maliyetleri
Toplam aylık maliyet = 1,04 ABD doları/ay
20 KB / günlük çıkış için GEKS x 5.000 GEKS =   Günlük 100 MB çıkış * 30 =   3 GB aylık ağ çıkışı
3 GB Ücretsiz çıkış = Ücretsiz1
 
15 KB günlük mesaj depolama alanı / GEKS + 3 KB depolama alanı / yükleme2 =   45 KB depolama alanı / GEKS * 5.000 GEKS =   225 MB günlük depolama alanı / GEKS * 30 =   6,75 GB aylık depolama alanı kullanımı
1 GB Ücretsiz depolama alanı + (5,75 * 0,18 ABD doları) = ayda 1,04 ABD doları

1 Cloud Firestore için aylık 10 GB ağ çıkışı ücretsizdir.
2 GEKS'nin toplam uygulama yüklemelerinin% 10'u olduğunu varsayıyoruz. Bu nedenle, bu sayı, uygulamanızı yükleyen toplam kullanıcı sayısına karşılık gelir.

Orta
(1 milyon yükleme)

1.000.000 uygulama yüklemesi (100.000 Günlük Etkin Kullanıcı) için: Ayda 292,02 ABD doları

Okuma/Yazma Maliyetleri
Toplam aylık maliyet = ayda 261,90 ABD doları
Toplam günlük 8 milyon okuma =   50.000 ücretsiz okuma + (100.000 ABD dolarından 7,95 milyon okuma) =   79,5 * 0,06 ABD doları
4,77 TL / gün * 30 = 143,10 TL
 
Günlük toplam 2 milyon yazma =   20.000 ücretsiz yazma + (0,18/100.000 ABD dolarından 1,98 milyon yazma) =   19,8 * 0,18 ABD doları
3,56 TL / gün * 30 = 106,80 TL
 
Günlük toplam 2 milyon silme işlemi =   20 bin ücretsiz silme + (0,02/100 bin ABD dolarından 1,98 milyon silme) =   19,8 * 0,02 ABD doları
0,40 TL / gün * 30 = 12,00 TL
Depolama/Ağ iletişimi Maliyetleri
Toplam aylık maliyet = ayda 30,12 ABD doları
20 KB / günlük çıkış için GEKS x 100.000 GEKS =   2 GB günlük çıkış * 30 =   60 GB aylık ağ çıkışı
10 GB Ücretsiz çıkış + (50 GB çıkış * 0,12 ABD doları/GB) = ayda 6,00 ABD doları
 
15 KB günlük mesaj depolama alanı / GEKS + 3 KB depolama alanı / yükleme1 =   45 KB depolama alanı / GEKS * 100.000 GEKS =   4,5 GB günlük depolama alanı / GEKS * 30 =   135 GB aylık depolama alanı kullanımı
1 GB Ücretsiz depolama alanı + (134 GB * 0,18 ABD doları/GB) = ayda 24,12 ABD doları

1 GEKS'nin toplam uygulama yüklemelerinin% 10'u olduğunu varsayıyoruz. Bu nedenle, bu sayı, uygulamanızı yükleyen toplam kullanıcı sayısına karşılık gelir.

Büyük
(10 milyon yükleme)

10.000.000 uygulama yüklemesi (1.000.000 Günlük Etkin Kullanıcı) için: 2951,52 ABD doları

Okuma/Yazma Maliyetleri
Toplam aylık maliyet = Toplam: Ayda 2637,90 ABD doları
Toplam günlük 80 milyon okuma =   50.000 ücretsiz okuma + (100.000 ABD dolarından 79,95 milyon okuma) =   799,5 * 0,06 ABD doları
47,97 TL / gün * 30 = 1439,10 TL
 
Günlük toplam 20 milyon yazma =   20.000 ücretsiz yazma + (0,18/100.000 ABD dolarından 19,98 milyon yazma) =   199,8 * 0,18 ABD doları
35,96 TL / gün * 30 = 1078,80 TL
 
Günlük toplam 20 milyon silme işlemi =   20 bin ücretsiz silme + (0,02/100 bin ABD dolarından 19,98 milyon silme) =   199,8 * 0,02 ABD doları
4,00 TL / gün * 30 = 120,00 TL
Depolama/Ağ iletişimi Maliyetleri
Toplam aylık maliyet = ayda 313,62 ABD doları
20 KB / günlük çıkış için GEKS x 1 milyon GEKS =   20 GB günlük çıkış * 30 =   Aylık 600 GB ağ çıkışı
10 GB Ücretsiz çıkış + (590 GB çıkış * 0,12 ABD doları/GB) = ayda 70,80 ABD doları
 
15 KB günlük mesaj depolama alanı / GEKS + 3 KB depolama alanı / yükleme1 =   45 KB depolama alanı / GEKS * 1 Mn GEKS =   45 GB günlük depolama alanı / GEKS * 30 =   1.350 GB aylık depolama alanı kullanımı
(1 GB Ücretsiz depolama alanı) + (1.349 GB * 0,18 ABD doları/GB) = ayda 242,82 ABD doları

1 GEKS'nin toplam uygulama yüklemelerinin% 10'u olduğunu varsayıyoruz. Bu nedenle, bu sayı, uygulamanızı yükleyen toplam kullanıcı sayısına karşılık gelir.

Cloud Firestore faturalandırma modelinin önemli bir avantajı, yalnızca kullandığınız kadar ödeme yapmanızdır. Bunun sonucunda faturanız GEKS sayınızla 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ın 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ıyla ilgili depolama maliyetlerini hesaplamak için belge boyutları hakkında aşağıdaki varsayımları uygulayın:

Toplama Belge Boyutu (taşıma sırasında) Doküman Boyutu (disk üzerinde)*
kullanıcılar 1KB 3KB
grup 0,5 KB 1,5 KB
mesajlar 0,25 KB 0,75 KB

*Bu boyut hesaplaması, mesaj alanları için dizinleri içerir ancak mesaj içeriği için dizine eklemenin devre dışı bırakıldığını varsayar.

Uygulama ayrıca depolama alanı maliyetlerini azaltmak için yalnızca üç aya kadar olan mesajları da saklar.

Depolama alanı maliyetlerini hesaplama hakkında daha fazla bilgi edinmek için Depolama boyutu hesaplamalarını anlama bölümüne bakın.

İşlemler

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

Örnek uygulamanın üç tipik kullanıcı görevi için Cloud Firestore'daki tahmini toplam işlem sayısı aşağıdaki gibidir:

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

Kullanıcı görevine göre toplam kullanım

Uygulamadaki işlem, depolama ve ağ iletişimi maliyetlerinin tam açıklamasını ve dökümünü görmek için her bir kullanıcı görevini seçin.

Sohbet listesini görme

Uygulamanın ana ekranı en son 25 sohbeti yükler. Bu nedenle 25 belge okuma işlemi için ücret alınır. Etkin bir kullanıcının uygulamayı günde 5 kez açtığını ve her gün kullanıcı başına toplam 125 okuma yaptığını varsayalım. Ancak aşağıdaki örnekte olduğu gibi daha verimli sorgular bu yükü azaltabilir.

Aşağıdaki örnekte, uygulama tarafından depolanan her başarılı getirmenin 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 sohbet olduğunu varsayalım. Bu sorgu yalnızca 10 belge okuma işlemi gerçekleştirir.

Sohbetteki mesajları okuma

Kullanıcılar, son mesajları görmek için ana ekrandan sohbet mesaj dizilerini tıklar ve ilk yüklemede son 50 mesajı yükler.

Tipik bir kullanıcının bu işlemi günde 5 kez (ana ekranı her açtıklarında bir kez) gerçekleştirdiğini ve bunun da her gün kullanıcı başına toplam 250 okumayla sonuçlandığını varsayalım. Ayrıca, son getirme zamanından itibaren sorguyu yeni mesajlarla da sınırlayabiliriz:

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ırlandırdığınız için bu sınır günde yalnızca 30 mesaj alır.

Sohbette mesaj gönderme

Kullanıcılar, sohbette yer alan diğer katılımcılara mesaj gönderebilir. Etkin bir kullanıcının günde yaklaşık 10 ileti gönderdiğini varsayalım.

Gönderilen her mesaj, iki belge yazmasına neden olur: Biri sohbetin messages alt koleksiyonuna yazılır, diğeri ise lastUpdated zaman damgası ile diğer meta verileri güncellemek için sohbet üst dokümanına yazılır.

Bu mesajları okumanın maliyeti diğer yolculuklarda hesaba katıldığından aşağıdaki toplamlarda yalnızca bu yazma maliyetini dikkate alır.

Yönetici görevleri için faturalanan 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ın gönderdiği iletilerin sayısını günlük olarak tutmak isteyebilirsiniz. Bu işlemi messages koleksiyon grubunun count() toplamıyla yapabilirsiniz.

count() gibi toplama sorgularında, sorguyla eşleşen en fazla 1.000 dizin girişi grubu için bir belge okuma ücreti ödersiniz. Bu günlük toplama işlemi çalıştırıldığında aşağıdaki aylık ücretler eklenir:

Küçük
(50 bin yükleme)

50.000 uygulama yüklemesi (5.000 GEKS): Ayda 0,0009 ABD doları

5.000 etkin kullanıcı x kullanıcı başına 10 yeni ileti = Günlük 50.000 yeni ileti dokümanı

50.000 doküman sayıldı / okuma ücreti başına 1.000 dizin eşleşmesi = 50 okuma

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

Ayda 1.500 okuma x 0,06/100.000 okuma fiyatı = Ayda 0,0009 ABD doları

Orta
(1 milyon yükleme)

1.000.000 uygulama yüklemesi (100.000 Günlük Etkin Kullanıcı) için: Ayda 0,018 ABD doları

100.000 etkin kullanıcı x kullanıcı başına 10 yeni ileti = Günlük 1.000.000 yeni ileti dokümanı

1.000.000 doküman sayıldı / Okuma ücreti başına 1.000 dizin eşleşmesi = 1.000 okuma

Günde 1.000 okuma x 30 gün = Ayda 30.000 okuma

Ayda 30.000 okuma x 0,06/100.000 okuma fiyatı = Ayda 0,018 ABD doları

Büyük
(10 milyon yükleme)

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

1.000.000 etkin kullanıcı x kullanıcı başına 10 yeni ileti = Günlük 10.000.000 yeni ileti dokümanı

10.000.000 doküman sayıldı / Okuma ücreti başına 1.000 dizin eşleşmesi = 10.000 okuma

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

Ayda 300.000 okuma x 0,06/100.000 okuma fiyatı = Ayda 0,18 ABD doları

Sunulan avantajlar: Uygulamanız için ücretsiz hizmetler

Cloud Firestore işlemleri, depolama alanı ve ağ bant genişliği, faturalandırılabilir kullanım olarak kabul edilir. Bununla birlikte, ek ücret ödemeden başka birçok avantajdan da yararlanabilirsiniz. Cloud Firestore'u diğer veritabanı seçenekleriyle karşılaştırırken aşağıdaki ücretsiz hizmetleri göz önünde bulundurun:

  • Doğrudan istemci erişimi: Cloud Firestore'a, yerel SDK'larımız kullanılarak doğrudan istemci kodunuzdan erişilebilir. Bu sayede mobil istemcilerinizi veritabanına bağlamak için API sunucusu oluşturup çalıştırmanız gerekmez.
  • Yük dengeleme: Cloud Firestore, veritabanınıza gelen trafiği desteklemek için otomatik olarak ölçeklendirildiğinden, yük dengeleyici çalıştırmanız gerekmez.
  • Sunucu çalışma süresi: Cloud Firestore veritabanları, Google Cloud sunucularında çalışarak aylık% 99'un üzerinde çalışma süresi sunar.
  • Kimlik doğrulama: Firebase Authentication ile sınırsız sayıda kullanıcının kimliğini basit ve güvenli bir şekilde doğrulayın. Firebase Authentication, doğrudan Cloud Firestore ile entegre olduğundan kendi kimlik doğrulama hizmetinizi çalıştırmanız gerekmez.
  • Push bildirimleri: Cloud Messaging ile mesaj ve bildirim gönderin.
  • Diğer Firebase ürünleri: A/B Testi, Analytics, Crashlytics, Performans İzleme ve Remote Config gibi diğer Firebase ürünlerini ücretsiz olarak entegre edin. Diğer Firebase ürünleri ve Firebase fiyatlandırması hakkında daha fazla bilgi edinin.