Kullanım ve sınırlar

Cloud Firestore sınırlarını anlamak için bu kılavuzu kullanın ve dikkat edilmesi gerekenler de dahil olmak üzere Cloud Firestore maliyetlerinin tam ve ayrıntılı bir açıklaması için Cloud Firestore Fiyatlandırma başlıklı makaleyi inceleyin.

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 bir Google Cloud projesi de oluşturursunuz. Google Cloud konsolundaki Cloud Firestore API Kotaları ve App Engine Kotaları sayfaları, Cloud Firestore kullanımı ve kota bilgilerini izler.

Ücretsiz kota

Cloud Firestore, (default) veritabanınızı ücretsiz olarak kullanmaya başlayabilmeniz için ücretsiz kota sunar. Ü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.

Yalnızca (default) veritabanı ücretsiz kota için uygundur.

Ü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:

  • Adlandırılmış (varsayılan olmayan) veritabanlarının kullanımı
  • 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üne bakın.

Standart sınırlar

Aşağıdaki tablolarda Cloud Firestore için geçerli olan sınırlar gösterilmektedir. Aksi belirtilmedikçe bunlar katı 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ı 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, noktayla 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
Alıntı içine alınmış alan adları ters tırnak karakteriyle (`) başlar ve biter. Örneğin, foo.`x&y`, foo alanının altında iç içe yerleştirilmiş x&y alanını ifade eder. Vurgu işareti karakteri içeren bir alan adı oluşturmak için vurgu işareti karakterini ters eğik çizgi karakteriyle (\) kaçış karakteri olarak ekleyin. Kolaylık sağlamak için alan yolunu FieldPath nesnesi olarak ileterek tırnak içine alınmış alan adlarından kaçınabilirsiniz (ör. 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çek için tasarım yapmayla ilgili en iyi uygulamaları da görebilirsiniz.

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 alan yapılandırması sayısı

Alan düzeyinde bir yapılandırma, aynı alan için birden fazla yapılandırma içerebilir. Örneğin, tek alanlı dizine ekleme muafiyeti ve aynı alandaki bir TTL politikası, sınıra göre 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 alan yapılandırması sayısı

    Alan düzeyinde bir yapılandırma, aynı alan için birden fazla yapılandırma içerebilir. Örneğin, tek alanlı dizine ekleme muafiyeti ve aynı alandaki bir TTL politikası, sınıra göre 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 ödemelerin yapılmasını önlemek için aylık bütçe ve uyarılar oluşturun.

    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 planlanan maliyetlerinize yaklaştığınızda veya bu maliyetleri aştığınızda sizi uyaracak 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 uyarıları aylık bütçenizin farklı yüzdelerinde bildirim gönderecek şekilde değiştirebilirsiniz.

    Bütçeleri ve bütçe uyarılarını ayarlama hakkında daha fazla bilgi edinin.