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ı takip etmek için Cloud Firestore uygulamasını açın Kullanım sekmesi Firebase konsolunda gösterilir. 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. İlgili içeriği oluşturmak için kullanılan Cloud Firestore API Kotaları ve App Engine Kotalar Google Cloud konsolundaki sayfalar Cloud Firestore kullanımını ve kotasını takip ediyor ekleyebilirsiniz.

Ücretsiz kota

Cloud Firestore, hizmeti kullanmaya başlamanıza olanak tanıyan ücretsiz kota sunar. (default) veritabanınızı ücretsiz olarak kullanabilirsiniz. Ü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ımı içermez. Şu özellikleri kullanmak için faturalandırmayı etkinleştirmeniz gerekir:

  • Adlandırılmış (varsayılan olmayan) veritabanlarının kullanımı
  • TTL silme sayısı
  • PITR verileri
  • Yedekleme verileri
  • Geri yükleme işlemleri

Bu özelliklerin nasıl faturalandırıldığıyla ilgili daha fazla bilgi için Depolama alanı fiyatlandırması.

Standart sınırlar

Aşağıdaki tablolarda Cloud Firestore için geçerli olan sınırlar gösterilmektedir. Aksi belirtilmediği sürece bunlar 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ı 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 karakteriyle bir alan adı oluşturmak için vurgu işareti karakterinden ters eğik çizgi karakteriyle (\) çıkış yapın. Kolaylık sağlaması açısından, alan yolunu FieldPath nesnesi olarak geçirerek tırnak içine alınmış alan adlarından kaçınabilirsiniz (örneğin, JavaScript FieldPath).
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

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, aynı alanda tek alanlı dizine ekleme muafiyeti ve TTL politikası 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 uygulamasının dizin girişi boyutunu nasıl hesapladığını öğrenmek için şuraya bakın: dizin girişi boyutu.

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ı

    Tek alan düzeyinde yapılandırma aynı alan için birden fazla yapılandırma içerebilir. Örneğin, aynı alanda tek alanlı dizine ekleme muafiyeti ve TTL politikası 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 kümeleri 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önet

    Faturanızda beklenmedik ücretlerle karşılaşmamak için aylık bütçeler ve uyarılar ayarlayın.

    Aylık bütçe belirleme

    Cloud Firestore maliyetlerinizi izlemek için Google Cloud konsolu. 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 Faturalandırma'ya gidin. bölümünü Google Cloud kontrol edin ve Cloud Billing hesabı. Varsayılan uyarı ayarlarını kullanabilir veya uyarıları alabilirsiniz.

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