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ı bölümüne bakın.

Kullanımınızı izleme

Cloud Firestore kullanımınızı Firebase konsolundan izlemek için Veritabanları ve Depolama > Firestore > Kullanım sekmesine gidin. Farklı dönemlerdeki kullanımınızı ölçmek için bu kontrol panelini kullanın.

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

Bir 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 ve kota bilgilerini izler.

Ücretsiz kota

Cloud Firestore, ücretsiz olarak kullanmaya başlamanızı sağlayan ücretsiz kota sunar. 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.

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.

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 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.

Proje başına maksimum müşteri tarafından yönetilen şifreleme anahtarı (CMEK) veritabanı sayısı

0

Bu özellik izin verilenler listesinde olduğundan kota varsayılan olarak 0'dır. CMEK erişim isteği formunu doldurarak kotanın artırılmasını talep edebilirsiniz.

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
Tırnak içine alınmış bir alan adı, 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 karakterini ters eğik çizgi karakteriyle (\) kod dışına alın. Kolaylık sağlamak için 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 uygulamalar bölümünü de incelemeniz 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 tek alan yapılandırmalarının maksimum sayısı

Bir alan düzeyinde yapılandırma, aynı alan için birden fazla yapılandırma içerebilir. Örneğin, aynı alandaki tek alanlı dizine ekleme muafiyeti ve TTL politikası, sınıra doğru 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 aracının bir dokümanı ve bir dizin grubunu nasıl dizin girişlerine 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
Dizin girişinin maksimum boyutu

7,5 KiB

Cloud Firestore uygulamasının dizin girişi boyutunu nasıl hesapladığını görmek için dizin girişi boyutu bölümüne bakın.

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 tek alan yapılandırmalarının maksimum sayısı

    Bir alan düzeyinde yapılandırma, aynı alan için birden fazla yapılandırma içerebilir. Örneğin, aynı alandaki tek alanlı dizine ekleme muafiyeti ve TTL politikası, sınıra doğru 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 CLI'dan firebase deploy kullanılarak yayınlanan kural grubu metin kaynağının boyutu için 256 KB sınırı
    • Firebase, kaynağı işleyip arka uçta etkin hale getirdiğinde ortaya çıkan derlenmiş kural kümesinin boyutu için 250 KB'lık bir sınır vardır.

    Harcamaları yönetme

    Faturanızda beklenmedik ücretler görmemek için aylık bütçeler ve uyarılar ayarlayın.

    Aylık bütçe belirleme

    Cloud Firestore maliyetlerinizi takip etmek 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 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 uyarıları, aylık bütçenizin farklı yüzdelerinde bildirim gönderecek şekilde değiştirebilirsiniz.

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