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ı açıklaması için Cloud Firestore Fiyatlandırmasına bakın.

Kullanımınızı izleyin

Cloud Firestore kullanımınızı izlemek için Firebase konsolunda Cloud Firestore Kullanımı sekmesini açın. Farklı zaman dilimlerindeki 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 aynı zamanda bir Google Cloud projesi de oluşturmuş olursunuz. Google Cloud konsolundaki Cloud Firestore API Kotaları ve App Engine Kotaları sayfaları, Cloud Firestore kullanımını ve kota bilgilerini izler.

Ücretsiz kota

Cloud Firestore (default) veritabanınızı hiçbir ücret ödemeden kullanmaya başlamanıza olanak tanıyan ücretsiz bir 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 kotaya uygundur.

Ücretsiz katman Kota
Depolanmış veri 1 GiB
Belge okumaları Günde 50.000
Belge yazıyor Günde 20.000
Belge silme Günde 20.000
Giden veri aktarımı Ayda 10 GiB

Aşağıdaki işlemler ve özellikler ücretsiz kullanımı kapsamamaktadır. Bu özellikleri kullanmak için faturalandırmayı etkinleştirmeniz gerekir:

  • Adlandırılmış (varsayılan olmayan) veritabanlarının kullanımı
  • TTL siler
  • PITR verileri
  • Verileri yedekle
  • İşlemleri geri yükleme

Bu özelliklerin nasıl faturalandırıldığı hakkında daha fazla bilgi için bkz. Depolama fiyatlandırması .

Standart sınırlar

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

Veritabanları

Sınır Detaylar
Proje başına maksimum veritabanı sayısı

100

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

Koleksiyonlar, belgeler ve alanlar

Sınır Detaylar
Koleksiyon kimlikleriyle ilgili kısıtlamalar
  • Geçerli UTF-8 karakterleri olmalıdır
  • 1.500 bayttan uzun olmamalıdır
  • Eğik çizgi ( / ) içeremez
  • Yalnızca tek noktadan ( . ) veya çift noktadan ( .. ) oluşamaz
  • __.*__ normal ifadesiyle eşleşemiyor
Maksimum alt koleksiyon derinliği 100
Belge kimlikleriyle ilgili kısıtlamalar
  • Geçerli UTF-8 karakterleri olmalıdır
  • 1.500 bayttan uzun olmamalıdır
  • Eğik çizgi ( / ) içeremez
  • Yalnızca tek noktadan ( . ) veya çift noktadan ( .. ) oluşamaz
  • __.*__ normal ifadesiyle eşleşemiyor
  • Datastore varlıklarını bir Firestore veritabanına aktarırsanız sayısal varlık kimlikleri __id[0-9]+__ olarak gösterilir
Bir belge adı için maksimum boyut 6 KiB
Bir belge için maksimum boyut 1 MiB (1.048.576 bayt)
Alan adlarına ilişkin kısıtlamalar Geçerli UTF-8 karakterleri olmalıdır
Bir alan adının maksimum boyutu 1.500 bayt
Saha yollarındaki kısıtlamalar
  • Alan adları tek noktayla ( . ) ayrılmalıdır
  • Her bir bölümün ya basit bir alan adı ya da tırnak içine alınmış bir alan adı (aşağıda tanımlanmıştır) olduğu, noktayla ayrılmış ( . ) bir bölüm dizisi olarak iletilebilir.
Basit bir alan adı, aşağıdakilerin hepsinin doğru olduğu addır:
  • Yalnızca az , AZ , 0-9 ve alt çizgi ( _ ) karakterlerini içerir
  • 0-9 ile başlamıyor
Alıntılanan alan adı geri tıklama karakteriyle ( ` ) başlar ve biter. Örneğin foo.`x&y` , foo alanının altında yer alan x&y alanını ifade eder. Geri tırnak karakteriyle bir alan adı oluşturmak için, ters eğik çizgi karakteriyle ( \ ) geri tırnak karakterinden çıkın. Kolaylık sağlamak için, alan yolunu FieldPath nesnesi olarak ileterek tırnak içine alınan alan adlarından kaçınabilirsiniz ( örneğin, bkz. JavaScript FieldPath ).
Bir alan yolunun maksimum boyutu 1.500 bayt
Bir alan değerinin maksimum boyutu 1 MiB - 89 bayt (1.048.487 bayt)
Bir harita veya dizideki maksimum alan derinliği 20

Yazmalar ve işlemler

Bu sınırlara ek olarak ölçeğe göre tasarlamaya yönelik en iyi uygulamaları da görmelisiniz.

Sınır Detaylar
Maksimum API isteği boyutu 10 MiB
Bir işlem için zaman sınırı 60 saniyelik boşta kalma sona erme süresiyle 270 saniye

Dizinler

Tek alanlı dizinler ve bileşik dizinler için aşağıdaki sınırlar geçerlidir:

Sınır Detaylar
Bir veritabanı için maksimum bileşik dizin sayısı
Bir veritabanı için maksimum tek alanlı yapılandırma sayısı

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

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

40.000

Dizin girişlerinin sayısı bir belge için aşağıdakilerin toplamıdır:

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

Cloud Firestore'un bir belgeyi ve bir dizi dizini dizin girişlerine nasıl dönüştürdüğünü görmek için bu dizin girişi sayısı örneğine bakın.

Bileşik dizindeki maksimum alan sayısı 100
Bir dizin girişinin maksimum boyutu

7,5 KiB

Cloud Firestore'un dizin girişi boyutunu nasıl hesapladığını görmek için bkz . dizin girişi boyutu .

Bir belgenin dizin girişlerinin boyutlarının maksimum toplamı

8 MiB

Toplam boyut, bir belge için aşağıdakilerin toplamıdır:

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

    1500 bayt

    1500 baytın üzerindeki alan değerleri kesilir. Kesilmiş alan değerlerini içeren sorgular tutarsız sonuçlar verebilir.

    Yaşam süresi (TTL)

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

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

    İthalat ihracat

    Yönetilen ithalat ve ihracat işlemleri için aşağıdaki sınırlar geçerlidir:

    Sınır Detaylar
    Bir proje için dakika başına izin verilen hem dışa hem de içe aktarma isteklerinin maksimum toplam sayısı 20
    Maksimum eşzamanlı ihracat ve ithalat sayısı 50
    Dışa aktarma ve içe aktarma istekleri için maksimum koleksiyon kimliği filtresi sayısı 100

    Güvenlik kuralları

    Sınır Detaylar
    İstek başına maksimum exists() , get() ve getAfter() çağrısı sayısı
    • Tek belge istekleri ve sorgu istekleri için 10.
    • Çoklu belge okumaları, işlemler ve toplu yazmalar için 20. Önceki 10 sınırı her işlem için de geçerlidir.

      Örneğin, 3 yazma işlemiyle toplu bir yazma isteği oluşturduğunuzu ve güvenlik kurallarınızın her yazmayı doğrulamak için 2 belge erişim çağrısı kullandığını düşünün. Bu durumda, her yazma, 10 erişim çağrısından 2'sini kullanır ve toplu yazma isteği, 20 erişim çağrısından 6'sını kullanır.

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

    Bazı belge erişim aramaları önbelleğe alınabilir ve önbelleğe alınan aramalar limitlere dahil edilmez.

    Maksimum iç içe match bildirimi derinliği 10
    Yol segmentlerindeki maksimum yol uzunluğuna, iç içe geçmiş match ifadeleri kümesinde izin verilir 100
    Bir grup iç içe geçmiş 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 let maksimum değişken bağlama sayısı 10
    Maksimum sayıda özyinelemeli veya döngüsel işlev çağrısı 0 (izin verilmez)
    İstek başına değerlendirilen maksimum ifade sayısı 1.000
    Bir kural kümesinin maksimum boyutu Kural kümelerinin iki boyut sınırına uyması gerekir:
    • Firebase konsolundan veya firebase deploy kullanılarak CLI'den yayınlanan kural kümesi metin kaynağının boyutuna ilişkin 256 KB'lık bir sınır.
    • Firebase'in kaynağı işleyip arka uçta aktif hale getirmesiyle ortaya çıkan, derlenmiş kural kümesinin boyutunda 250 KB'lık bir sınır.

    Harcamaları yönetin

    Faturanızda beklenmeyen masrafların oluşmasını önlemek için aylık bütçeler ve uyarılar ayarlayın.

    Aylık bütçe belirleyin

    Cloud Firestore maliyetlerinizi takip etmek için Google Cloud konsolunda aylık bir bütçe oluşturun. Bütçeler kullanımınızı sınırlamaz ancak o 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 Faturalandırma hesabınız için bir bütçe oluşturun. Aylık bütçenizin farklı yüzdelerinde bildirim göndermek için varsayılan uyarı ayarlarını kullanabilir veya uyarıları değiştirebilirsiniz.

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