Kullanım ve sınırlar

Cloud Firestore sınırlarını anlamak için bu kılavuzu kullanın. Cloud Firestore maliyetleriyle ilgili ayrıntılı ve eksiksiz bir açıklama için Cloud Firestore Fiyatlandırması bölümüne bakın. Bu bölümde, dikkat etmeniz gereken noktalar da yer alır.

Kullanımınızı izleme

Cloud Firestore kullanımınızı izlemek için Firebase konsolunda Cloud Firestore Kullanım sekmesini açın. Farklı dönemlerdeki kullanımınızı ölçmek için kontrol panelini kullanın.

Google Cloud konsolunda ayrıntılı kullanım

Firebase projesi oluşturduğunuzda Google Cloud projesi de oluşturursunuz. Google Cloud konsolundaki Cloud Firestore API Kotaları ve App Engine Kotalar sayfalarında Cloud Firestore kullanımı ve kota bilgileri izlenir.

Ücretsiz kota

Cloud Firestore, ücretsiz kota sunar. Bu sayede ücret ödemeden kullanmaya başlayabilirsiniz. Ücretsiz kota miktarları aşağıda listelenmiştir. Daha fazla kotaya ihtiyacınız varsa Google Cloud projeniz için 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.

Firestore, proje başına tam olarak bir ücretsiz veritabanına izin verir.

Ü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. Aşağıdaki özellikleri kullanmak için faturalandırmayı etkinleştirmeniz gerekir:

  • TTL silme işlemleri
  • PITR verileri
  • Verileri yedekleme
  • Geri yükleme işlemleri

Bu özelliklerin nasıl faturalandırıldığı hakkında daha fazla bilgi için Depolama alanı fiyatlandırması bölümünü inceleyin.

Standart sınırlar

Aşağıdaki tablolarda Cloud Firestore için geçerli olan sınırlar gösterilmektedir. Aksi belirtilmedikçe bu sınırlar kesin sınırlardır.

Veritabanları

Sınır Ayrıntılar
Proje başına maksimum veritabanı sayısı

100

Bu sınırın artırılmasını talep etmek için destek ekibiyle iletişime geçebilirsiniz.

Koleksiyonlar, belgeler ve alanlar

Sınır Ayrıntılar
Koleksiyon kimliklerindeki kısıtlamalar
  • Geçerli UTF-8 karakterleri kullanılmalıdır
  • 1.500 baytı aşmamalıdır
  • Eğik çizgi (/) içermemelidir
  • Yalnızca tek bir nokta (.) veya iki noktadan (..) oluşmamalıdır
  • __.*__ normal ifadesiyle eşleşmemelidir
Alt koleksiyonların maksimum derinliği 100
Belge kimlikleri üzerindeki kısıtlamalar
  • Geçerli UTF-8 karakterleri kullanılmalıdır
  • 1.500 baytı aşmamalıdır
  • Eğik çizgi (/) içermemelidir
  • Yalnızca tek bir nokta (.) veya iki noktadan (..) oluşmamalıdır
  • __.*__ normal ifadesiyle eşleşmemelidir
  • Datastore varlıklarını bir Firestore veritabanına aktarırsanız sayısal varlık kimlikleri __id[0-9]+__ olarak gösterilir
Belge adının maksimum boyutu 6 KiB
Belgenin maksimum boyutu 1 MiB (1.048.576 bayt)
Alan adlarındaki kısıtlamalar
  • Geçerli UTF-8 karakterleri kullanılmalıdır
  • __.*__ normal ifadesiyle eşleşmemelidir
Alan adının maksimum boyutu 1.500 bayt
Alan yollarındaki kısıtlamalar
  • Alan adları tek bir nokta (.) ile ayrılmalıdır
  • Her segmentin basit bir alan adı veya tırnak içine alınmış bir alan adı (aşağıda tanımlanmıştır) olduğu, nokta ile ayrılmış (.) bir segment dizesi olarak iletilebilir.
Aşağıdaki tüm şartların geçerli olduğu alan adları basit olarak sayılır:
  • Yalnızca a-z, A-Z, 0-9 ve alt çizgi (_) karakterlerini içerir
  • 0-9 ile başlamaz
Tırnak içine alınmış bir alan adı, ters tırnak karakteriyle (`) başlar ve biter. Örneğin, foo.`x&y`, foo alanı altında iç içe yerleştirilmiş x&y alanını ifade eder. Vurgu işareti karakteriyle alan adı oluşturmak için vurgu işareti karakterini ters eğik çizgi karakteriyle (\) çıkarın. Kolaylık sağlaması açısından, alan yolunu FieldPath nesnesi olarak ileterek tırnak içine alınmış alan adlarından kaçınabilirsiniz (örneğin, JavaScript FieldPath'e bakın).
Alan yolunun maksimum boyutu 1.500 bayt
Alan değerinin maksimum boyutu 1 MiB - 89 bayt (1.048.487 bayt)
Harita veya dizideki maksimum alan derinliği

20

Harita ve dizi alanları, bir nesnenin genel derinliğine bir düzey ekler. Örneğin, aşağıdaki nesnenin toplam derinliği üç düzeydir:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

Yazmalar ve işlemler

Bu sınırlara ek olarak, ölçeklenebilir tasarım için en iyi uygulamalara da göz atmanız gerekir.

Sınır Ayrıntılar
Maksimum API isteği boyutu 10 MiB
İşlem için zaman sınırı 60 saniyelik boşta kalma sona erme süresiyle birlikte 270 saniye
Commit işlemindeki veya bir işlemdeki tek bir belgede gerçekleştirilebilen maksimum alan dönüşümü sayısı 500

Dizinler

Aşağıdaki sınırlar tek alanlı dizinler ve birleşik dizinler için geçerlidir:

Sınır Ayrıntılar
Bir veritabanı için maksimum birleşik dizin sayısı
Bir veritabanı için maksimum tek alanlı yapılandırma sayısı

Bir alan düzeyi yapılandırması, aynı alan için birden fazla yapılandırma içerebilir. Örneğin, aynı alandaki tek alanlı dizin oluşturma muafiyeti ve TTL politikası, sınıra göre tek bir alan yapılandırması olarak sayılır.

Her belge için maksimum dizin girişi sayısı

40.000

Belgelerde dizin girişlerinin sayısı, aşağıdakilerin toplamına eşittir:

  • Tek alanlı dizin girişlerinin sayısı
  • Birleşik dizin girişlerinin sayısı

Cloud Firestore'ın bir belgeyi ve dizin grubunu nasıl dizin girişine dönüştürdüğünü görmek için dizin girişi sayısıyla ilgili bu örneğe göz atın.

Birleşik dizindeki maksimum alan sayısı 100
Dizin girişinin maksimum boyutu

7,5 KiB

Cloud Firestore'ın dizin girişi boyutunu nasıl hesapladığını öğrenmek için dizin girişi boyutu bölümünü inceleyin.

Bir belgenin dizin girişlerinin maksimum toplam boyutu

8 MiB

Belgelerdeki toplam boyut, aşağıdakilerin toplamına eşittir:

  • Bir belgenin tek alanlı dizin girişlerinin toplam boyutu
  • Bir belgenin bileşik dizin girişlerinin toplam boyutu
  • Dizine eklenen alan değerinin maksimum boyutu

    1.500 bayt

    Boyutu 1.500 baytı aşan alan değerleri kısaltılır. Kısaltılmış alan değerleri içeren sorgular tutarsız sonuçlar verebilir.

    Geçerlilik süresi (TTL)

    Sınır Ayrıntılar
    Bir veritabanı için maksimum tek alanlı yapılandırma sayısı

    Bir alan düzeyi yapılandırması, aynı alan için birden fazla yapılandırma içerebilir. Örneğin, aynı alandaki tek alanlı dizin oluşturma muafiyeti ve TTL politikası, sınıra göre tek bir alan yapılandırması olarak sayılır.

    İçe/Dışa Aktarma

    Aşağıdaki sınırlar, yönetilen içe ve dışa aktarma işlemleri için geçerlidir:

    Sınır Ayrıntılar
    Bir proje için izin verilen dakika başına dışa ve içe aktarma isteklerinin maksimum toplam sayısı 20
    Eşzamanlı dışa ve içe aktarma işlemlerinin maksimum sayısı 50
    Dışa ve içe aktarma işlemleri için maksimum koleksiyon kimliği filtresi sayısı 100

    Güvenlik kuralları

    Sınır Ayrıntılar
    İstek başına maksimum exists(), get() ve getAfter() çağrısı sayısı
    • Tek belgeli istekler ve sorgu istekleri için 10.
    • Çok belgeli okumalar, işlemler ve toplu yazmalar için 20. Her işlemde yukarıdaki 10 sınırı da geçerlidir.

      3 yazma işlemiyle bir toplu yazma isteği oluşturduğunuzu ve güvenlik kurallarınızın her yazma işlemini doğrulamak için 2 belge erişimi çağrısı kullandığını varsayalım. Bu durumda her yazma işlemi 10 erişim çağrısından 2'sini; toplu yazma isteği ise 20 erişim çağrısından 6'sını kullanır.

    Her iki sınırın da aşılması, "izin verilmedi" hatasıyla sonuçlanır.

    Bazı belge erişimi çağrıları önbelleğe alınabilir. Önbelleğe alınan çağrılar sınırlamaya dahil edilmez.

    Maksimum iç içe yerleştirilen match ifadesi derinliği 10
    Yol segmentlerinde, iç içe yerleştirilmiş bir grup match ifadesinde izin verilen maksimum yol uzunluğu 100
    İç içe yerleştirilen bir grup match ifadesinde izin verilen maksimum yol yakalama değişkeni sayısı 20
    Maksimum işlev çağrısı derinliği 20
    Maksimum işlev bağımsız değişkeni sayısı 7
    İşlev başına maksimum let işlev bağlama sayısı 10
    Maksimum yinelenen veya döngüsel işlev çağrısı sayısı 0 (izin verilmez)
    İstek başına değerlendirilen maksimum ifade sayısı 1.000
    Maksimum kural grubu boyutu Kural grupları iki boyut sınırına uymalıdır:
    • Firebase konsolundan veya firebase deploy ile CLI'den yayınlanan kural grubu metin kaynağının boyutu için 256 KB sınır.
    • Firebase, kaynağı işlediğinde ve arka uçta etkinleştirdiğinde ortaya çıkan derlenmiş kural grubunun boyutu için 250 KB sınır.

    Harcamaları yönetme

    Faturanızda beklenmedik ödemelerle karşılaşmamak için aylık bütçe ve uyarılar belirleyin.

    Aylık bütçe belirleme

    Cloud Firestore maliyetlerinizi izlemek için Google Cloud konsolunda aylık bütçe oluşturun. Bütçeler kullanımınızı sınırlamaz ancak ay için planladığınız maliyetlere yaklaştığınızda veya bu maliyetleri aştığınızda sizi bilgilendirecek uyarılar ayarlayabilirsiniz.

    Bütçe belirlemek için Google Cloud konsolundaki Faturalandırma bölümüne gidin ve Cloud Billing hesabınız için bir bütçe oluşturun. Varsayılan uyarı ayarlarını kullanabilir veya aylık bütçenizin farklı yüzdelerinde bildirim göndermek için uyarıları değiştirebilirsiniz.

    Bütçe oluşturma ve bütçe uyarıları ayarlama hakkında daha fazla bilgi edinin.