Bu belgede, Cloud Firestore fiyatlandırmasıyla ilgili ayrıntılar açıklanmaktadır.
ABD dolarından farklı bir para biriminde ödeme yaparsanız Cloud Platform SKU'larında para biriminizde listelenen fiyatlar geçerli olur.
Fiyatlandırmaya genel bakış
Cloud Firestore kullandığınızda sizden aşağıdakiler için ücret alınır:
- Okuduğunuz, yazdığınız ve sildiğiniz dokümanların sayısı.
- Bir sorguyu karşılamak için okunan dizin girişlerinin sayısı. Dizin okumaları hakkında daha fazla bilgi edinin.
- Meta veri ve dizinlerin ek yükü de dahil olmak üzere, veritabanınızın kullandığı depolama alanı miktarı.
- Kullandığınız ağ bant genişliği miktarı.
Depolama alanı ve bant genişliği kullanımı gibibayt (GiB) cinsinden hesaplanır. 1 GiB = 230 bayttır. Tüm masraflar günlük olarak hesaplanır.
Aşağıdaki bölümlerde, Cloud Firestore kullanımı için ödediğiniz ücretin nasıl hesaplandığı açıklanmaktadır.
Ücretsiz kota
Cloud Firestore, ücret ödemeden başlangıç yapabilmeniz için ücretsiz kota sunar. Daha fazla kotaya ihtiyacınız varsa Google Cloud projenizde faturalandırmayı etkinleştirmeniz gerekir.
Kotalar günlük olarak uygulanır ve Pasifik saatine göre gece yarısı civarında sıfırlanır.
tam olarak bir ücretsiz veritabanına izin verir.Aşağıdaki tabloda ücretsiz kota miktarları özetlenmiştir:
| Ücretsiz katman | Kota |
|---|---|
| Depolanan veriler | 1 GiB |
| Belge okuma sayısı | Günde 50.000 |
| Belge yazma sayısı | Günde 20.000 |
| Belge silme sayısı | Günde 20.000 |
| Giden veri aktarımı | Ayda 10 GiB |
Aşağıdaki işlemler ve özellikler ücretsiz kullanıma dahil değildir. Bu özellikleri kullanmak için faturalandırmayı etkinleştirmeniz gerekir:
- TTL silme işlemleri
- PITR verileri
- Verileri yedekleme
- Geri yükleme işlemleri
- Klonlama işlemleri
Bu özelliklerin nasıl faturalandırıldığı hakkında daha fazla bilgi için Depolama alanı fiyatlandırması başlıklı makaleyi inceleyin.
Konuma göre fiyatlandırma
Her Cloud Firestore konum için okuma, yazma, silme ve depolama fiyatlarını görüntülemek üzere Google Cloud fiyatlandırması bölümüne bakın.
ABD dolarından farklı bir para biriminde ödeme yaparsanız Cloud Platform SKU'larında para biriminizde listelenen fiyatlar geçerli olur.
Ücretsiz kota, proje başına yalnızca bir veritabanı için geçerlidir.
Projelerde yalnızca ücretsiz kota için uygun olan bir veritabanı bulunabilir.
Ek veritabanları oluşturmak için projenizin faturalandırma planını yükseltmeniz gerekir.
Oluşturduğunuz ilk veritabanı (kimliğinden bağımsız olarak) ücretsiz kota için uygundur. Bu veritabanını silerseniz oluşturduğunuz bir sonraki veritabanı, ücretsiz kota için uygun yeni veritabanı olur.
Veritabanı oluşturma veya silme işlemleri için ek ücret alınmaz. Sonraki tüm veritabanları, bu veritabanlarında oluşan kullanıma göre ücretlendirilir.
Okuma, yazma ve silme
Bir sorguyu karşılamak için okunan belgeler ve dizin girişleri için ücretlendirilirsiniz. Gerçekleştirdiğiniz her doküman yazma ve silme işlemi için ücretlendirilirsiniz.
Yazma ve silme işlemleri için ücretler gayet basit bir şekilde belirlenir. Yazma için her set veya update işlemi tek bir yazma olarak sayılır.
Okuma işlemleriyle ilgili ücretlerde aklınızda bulundurmanız gereken bazı nüanslar vardır. Bu ayrıntılar, aşağıdaki bölümlerde açıklanmıştır.
Dizin girişi okuma sayısı
Aşağıdaki durumlar hariç olmak üzere, bir sorgu tarafından okunan en fazla 1.000 dizin girişi içeren her grup için bir okuma işlemi ücreti alınır:
K en yakın komşu vektör arama sorguları için sorgu tarafından okunan 100'e kadar kNN vektör dizini girişi içeren her grup için bir okuma işlemi ücreti alınır.
Örneğin,
limit: 5ile aşağıdaki vektör arama sorgusu 5 belge döndürür ve 1.550 kNN vektör dizini girişi okursa, döndürülen belgeler için 5 okuma işlemi ve dizin girişleri için 16 okuma işlemi faturalandırılırsınız:// Requires single-field vector index const vectorQuery: VectorQuery = db.collection('cities').findNearest('embedding_field', FieldValue.vector([3.0, 1.0, 2.0]), { limit: 5, distanceMeasure: 'EUCLIDEAN' });En fazla bir aralık alanı olan sorgular için okunan dizin girişleri ücretlendirilmez.
Örneğin, aşağıdaki sorgu bir eşitlik alanı (
age) ve bir aralık alanı (start_date) içerir ve okunan dizin girişleri için ücretlendirilmez:db.collection("employees").whereEqualTo("age", 35) .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))Aşağıdaki sorgu iki aralık alanı (
agevestart_date) içeriyor ve dizin girişleri okumaları için ücretlendiriliyor:db.collection("employees").whereGreaterThanOrEqualTo("age", 35) .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))Sorguda en az bir tane daha aralık alanı olduğunda, order by ifadesinde görünen bir alan aralık alanı olarak kabul edilir. Bu nedenle, aşağıdaki sorgu iki aralık alanı (
agevestart_date) içerir ve dizin girişleri okuma için ücretlendirilir:db.collection("employees").whereGreaterThanOrEqualTo("age", 35) .orderBy("start_date")__name__alanı, yalnızca eşitlik filtresinde kullanılsa bile her zaman bir aralık alanı olarak kabul edilir. Bu nedenle, aşağıdaki sorgu iki aralık alanı (ageve__name__) içerir ve dizin girişleri okuma için ücretlendirilir:db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob")) .orderBy("age")
Toplama sorguları
count(), sum() ve avg() gibi toplama sorguları için sorgu tarafından okunan dizin girişleri yukarıda açıklandığı şekilde ücretlendirilir. 0 dizin girişi okuyan toplama sorguları için minimum bir belge okuma ücreti alınır.
Örneğin, 0 ile 1.000 dizin girişi arasında okuma yapan count() işlemleri için bir doküman okuma ücreti alınır. 1.500 dizin girişi okuyan bir count() işlemi için 2 doküman okuma işlemi üzerinden faturalandırılırsınız.
Kullanılan dizinler ve okunan dizin girişleri hakkında daha fazla bilgi edinmek için Query Explain'i kullanın.
Sorgu sonuçlarını dinleme
Cloud Firestore, sorgu sonuçlarını dinlemenize ve sorgu sonuçları değiştiğinde anlık güncellemeler almanıza olanak tanır.
Bir sorgunun sonuçlarını dinlediğinizde, sonuç kümesindeki bir doküman her eklendiğinde veya güncellendiğinde okuma ücreti alınır. Belgenin değişmesi sebebiyle sonuç kümesinden bir belge çıkarıldığında da okuma için ücret alınır. Ancak bir belge silindiğinde okuma için ücret alınmaz.
Mobil ve web SDK'larındaki dinleyicilerin faturalandırılması, çevrimdışı kalıcılığın etkin olup olmamasına da bağlıdır:
Çevrimdışı kalıcılık etkinleştirilmişse ve dinleyici 30 dakikadan uzun süre bağlantısı kesilmişse (ör. kullanıcı çevrimdışı olursa) yeni bir sorgu göndermişsiniz gibi okunan dokümanlar ve dizin girişleri için ücretlendirilirsiniz.
Çevrimdışı kalıcılık devre dışı bırakılırsa dinleyici bağlantısı kesilip yeniden bağlandığında okunan dokümanlar ve dizin girişleri için yeni bir sorgu göndermişsiniz gibi ücretlendirilirsiniz.
Büyük sonuç kümelerini yönetme
Cloud Firestore, çok sayıda sonuç döndüren sorguları yönetmenize yardımcı olacak çeşitli özelliklere sahiptir:
- İmleçler: Uzun süreli sorguları devam ettirebilmenizi sağlar.
- Sayfa jetonları: Sorgu sonuçlarını sayfalara ayırmanıza yardımcı olur.
- Sınırlar: Alınacak sonuçların sayısını belirtir.
- Ofsetler: Belirli sayıdaki belgeleri atlamanızı sağlar.
İmleç, sayfa jetonu ve sınırları kullanma için ek ücret alınmaz. Hatta bu özellikler, yalnızca gerçekten ihtiyacınız olan belgeleri okuyup masrafları azaltmanıza yardımcı olabilir.
Ancak, ofset içeren bir sorgu gönderdiğinizde, atlanan her belge için okuma ücreti ödersiniz. Örneğin, sorgunuzda 10 ofset kullanılıyorsa ve sorgu 1 belge döndürürse 11 okuma için ücret ödersiniz. Bu ek maliyet nedeniyle, ofset yerine imleç kullanmayı tercih etmelisiniz.
Belge okuma dışındaki sorgular
Belge okumaları dışındaki sorgularda, (koleksiyon kimlikleri listesi için yapılan bir istek gibi) bir belge okuması için faturalandırılırsınız. Sonuçların tamamının alınması için birden fazla istek yapılması gerekiyorsa (örneğin, sayfalara ayırma özelliğinden yararlanıyorsanız) istek başına bir kez faturalandırılırsınız.
Sorgular için minimum ücret
Yapılan her sorgu için, bir belge okuma işleminin minimum ücreti uygulanır. Sorgunun sonuç verip vermemesi dikkate alınmaz.
Cloud Firestore Security Rules
Mobil ve web istemci kitaplıklarında, Cloud Firestore Security Rules veritabanınızdan bir veya daha fazla belge okumak için exists(), get() veya getAfter() kullanıyorsa aşağıda açıklandığı gibi ek okuma ücreti ödersiniz:
Cloud Firestore Security Rules değerlendirmek için gerekli okumalar için sizden ücret alınır.
Örneğin, kurallarınız üç belgeye atıfta bulunuyorsa ancak Cloud Firestore, kurallarınızı değerlendirmek için bu belgelerden yalnızca ikisini okumak zorunda kalırsa bağımlı belgeler için iki ek okuma ücreti alınır.
Kurallarınız söz konusu belgeyi birden fazla kez ifade etse bile her bağımlı belge için yalnızca bir okuma ücreti ödersiniz.
Kural değerlendirmesi için istek başına yalnızca bir defa ücret ödersiniz.
Sonuç olarak, birden fazla belge okumanın maliyeti, yapılan istek sayısını azalttığı için belgeleri teker teker okumaktan daha uygun olabilir.
Sorgu sonuçlarını dinlediğinizde aşağıdaki durumların tümünde kural değerlendirme ücreti ödersiniz:
- Sorguyu yaptığınızda.
- Sorgu sonuçları her güncellendiğinde.
- Kullanıcının cihazının internet bağlantısı kesilip bağlantı tekrar kurulduğunda.
- Kuralları her güncellediğinizde.
- Kurallarınızdaki bağımlı belgeleri her güncellediğinizde.
Veritabanı depolama alanı boyutu
Depolama ek yükü de dahil olmak üzere Cloud Firestore içinde depoladığınız veri miktarı için ücretlendirilirsiniz. Meta veriler, otomatik dizinler ve birleşik dizinler ek yük miktarına dahil edilir.
Cloud Firestore içinde depolanan her belge için aşağıdaki meta veriler gerekir:
- Koleksiyon kimliği ve belge adı da dahil olmak üzere belge kimliği.
- Her alanın adı ve değeri. Cloud Firestore şemasız olduğundan bir belgedeki her bir alanın adı, alan değeriyle birlikte depolanmalıdır.
- Belgeyi ifade eden tüm tekli alan dizinleri ve birleşik dizinler. Her dizin girişi; koleksiyon kimliğini, dizin tanımına bağlı olarak herhangi bir sayıdaki alan değerini ve belge adını içerir.
Depolama maliyetleri GiB/ay cinsindendir ve günlük olarak hesaplanır. Cloud Firestore veritabanı boyutunu günlük olarak ölçer. Bir aylık süre boyunca, veritabanı depolama alanının boyutunu hesaplamak için bu örnek noktaların ortalaması alınır. Bu ortalama değer, depolama alanının birim fiyatıyla (GiB-ay) çarpılır.
Cloud Firestore depolama alanının nasıl hesaplandığını Depolama Alanı Boyutu Hesaplamaları bölümünden öğrenebilirsiniz.
PITR verileri
PITR'yi etkinleştirirseniz PITR verilerinin depolanması için ücretlendirilirsiniz. Çoğu müşteri, PiTR veri depolama alanının genel maliyetinin veritabanının depolama maliyetine benzer olduğunu görecektir.
PITR için depolama maliyetleri GiB/ay cinsindendir ve günlük olarak hesaplanır. Cloud Firestore, veritabanı boyutunu günlük olarak ölçer. Bir aylık süre boyunca bu örnek noktaların ortalaması alınarak veritabanı depolama alanı boyutu hesaplanır. Bu ortalama değer, PITR'nin (GiB-ay) birim fiyatıyla çarpılır.
Örneğin, bir ay boyunca veritabanınızın ortalama boyutu 1 GiB ise ve PITR tüm ay boyunca etkinse faturalandırılabilir PITR veri boyutu da 1 GiB olur.
Minimum faturalandırma: PITR'yi etkinleştirdikten sonraki bir gün içinde devre dışı bıraksanız bile 1 günlük PITR depolama maliyeti kadar ücretlendirilebilirsiniz.
Veri yedekleme ve geri yükleme işlemleri
Yedeklemeleri etkinleştirirseniz veritabanı yedeklerinizin depolanması için sizden ücret alınır. Bir yedeğin depolama alanı boyutu, yedekleme alındığı sırada veritabanının depolama alanı boyutuna eşittir.
Yedeklemeler için depolama alanı maliyetleri GiB/ay cinsindendir. Bir aylık süre boyunca, her yedeğin saklandığı gün sayısı da ay boyunca ortalama olarak hesaplanır. Her yedeğin maliyeti, yedeğin depolama alanı boyutu ile yedeğin saklandığı ayın oranı ve birim fiyatı çarpılarak hesaplanır. Gün sınırları, faturalandırma amacıyla America/Los_Angeles saat dilimine göre tanımlanır.
Geri yükleme işlemi gerçekleştirdiğinizde Cloud Firestore, geri yükleme işlemi için yedeklemenin boyutunu ölçer. Yedeklemenin boyutu, geri yükleme işlemlerinin birim fiyatıyla (GiB) çarpılır.
Sorgu Açıklaması
Firestore Query Explain kullanımı maliyetlere neden olur.
Bir sorgu varsayılan seçenekle açıklandığında herhangi bir dizin okuma işlemi yapılmaz. Sorgu karmaşıklığından bağımsız olarak tek bir okuma işlemi için ücret alınır.
Bir sorgu, analiz seçeneğiyle açıklandığında dizin oluşturma ve okuma işlemleri gerçekleştirilir. Bu nedenle, sorgu için her zamanki gibi ücretlendirilirsiniz. Açıklama ve analiz etkinliği için ek ücret alınmaz. Yalnızca yürütülen sorgu için normal ücret alınır.
Ağ bant genişliği
Aşağıdaki bölümlerde gösterildiği gibi, Cloud Firestore istekleriniz tarafından kullanılan ağ bant genişliği için sizden ücret alınır. Bir Cloud Firestore isteğinin ağ bant genişliği maliyeti, isteğin yanıt boyutuna, Cloud Firestore veritabanınızın konumuna ve yanıtın hedefine bağlıdır.
Cloud Firestore, yanıt boyutunu serileştirilmiş mesaj biçimine göre hesaplar. Protokol ek yükü (ör. SSL ek yükü), ağ bant genişliği kullanımına dahil edilmez. Cloud Firestore Security Rules tarafından reddedilen istekler, ağ bant genişliği kullanımına dahil edilmez.
Ne kadar ağ bant genişliği kullandığınızı öğrenmek için Google Cloud Console üzerinden faturalandırma verilerinizi bir dosyaya aktarabilirsiniz.
Genel ağ fiyatlandırması
Google Cloud Platform'dan (ör. Google Compute Engine'de çalışan bir uygulamadan) gelen isteklerin ücreti aşağıdaki gibi hesaplanır:
| Trafik türü | Fiyat |
|---|---|
| Gelen veri aktarımı | Ücretsiz |
| Bölge içinde veri aktarımı | Ücretsiz |
| Aynı çoklu bölgedeki bölgeler arasında veri aktarımı | Ücretsiz |
| ABD'deki bölgeler arasında veri aktarımı (GiB başına) | 0,01 ABD doları (aylık ilk 10 GiB ücretsiz) |
| ABD bölgeleri arasındaki trafik hariç olmak üzere bölgeler arası veri aktarımı | Google Cloud Platform giden internet veri aktarım hızları |
ABD dolarından farklı bir para biriminde ödeme yaparsanız Cloud Platform SKU'larında para biriminizde listelenen fiyatlar geçerli olur.
Cloud Firestore ayrıca aşağıdakiler için ek internet çıkışı ücretlerine tabidir:
- ABD bölgeleri arasındaki trafik hariç, bölgeler arası Google Cloud istek
- Google Cloud dışından gelen istekler (ör. bir kullanıcının mobil cihazından)
Google Cloud internet çıkış ücretlerine bakın.
Fiyatlandırma örneğini inceleyin
Cloud Firestore faturalandırma maliyetlerinin nasıl hesaplandığını gerçek bir örnek uygulamada görmek için Cloud Firestore faturalandırma örneğini inceleyin.
Harcamaları yönetme
Faturanızda beklenmedik ücretlerle karşılaşmamak için Google Cloud konsolunda aylık bütçeler ve uyarılar ayarlayın.
Cloud Firestore kullanımınızı Firebase konsolundan izlemek için Veritabanları ve Depolama > Firestore > Kullanım sekmesine gidin. Farklı zaman aralıklarındaki kullanımınızı ölçmek için bu kontrol panelini kullanın.