Depolama alanı boyutu hesaplamaları

Bu sayfada, Cloud Firestore uygulamasındaki dokümanların, doküman adlarının, alanların ve dizin girişlerinin depolama alanı boyutu açıklanmaktadır.

Bu depolama alanının maliyetleri hakkında Cloud Firestore Fiyatlandırma sayfasından bilgi edinebilirsiniz.

Dize boyutu

Dize boyutları, UTF-8 kodlu bayt sayısı + 1 olarak hesaplanır.

Aşağıdakiler dize olarak depolanır:

  • Koleksiyon kimlikleri
  • Dize doküman kimlikleri
  • Doküman adları
  • Alan adları
  • Dize alanı değerleri

Örneğin:

  • Koleksiyon kimliği tasks, 5 bayt + 1 bayt olmak üzere toplam 6 bayt kullanır.
  • description alan adı 11 bayt + 1 bayt olmak üzere toplam 12 bayt kullanır.

Doküman kimliği boyutu

Doküman kimliğinin boyutu, dize kimliği için dize boyutu veya tam sayı kimliği için 8 bayttır.

Doküman adı boyutu

Bir doküman adının boyutu, aşağıdakilerin toplamıdır:

  • Belge yolundaki her koleksiyon kimliğinin ve belge kimliğinin boyutu
  • 16 ek bayt

Dize belge kimliği my_task_id olan users/jeff/tasks alt koleksiyonundaki bir belgenin adı 6 + 5 + 6 + 11 + 16 = 44 bayttır:

  • users koleksiyon kimliği için 6 bayt
  • jeff doküman kimliği için 5 bayt
  • tasks koleksiyon kimliği için 6 bayt
  • my_task_id doküman kimliği için 11 bayt
  • 16 ek bayt

Alan değeri boyutu

Aşağıdaki tabloda, alan değerlerinin türe göre boyutu gösterilmektedir.

Tür Boyut
Dizi Değerlerinin boyutlarının toplamı
Boole 1 bayt
Bayt Bayt uzunluğu
Tarih ve saat 8 bayt
Kayan nokta sayısı 8 bayt
Coğrafi nokta 16 bayt
Tam sayı 8 bayt
Harita Haritanın boyutu, doküman boyutu ile aynı şekilde hesaplanır.
Boş 1 bayt
Referans Doküman adı boyutu
Metin dizesi UTF-8 kodlamalı bayt sayısı + 1
Vektör Boyut başına 8 bayt

Örneğin, done adlı bir boole alanı 6 bayt kullanır:

  • done alan adı için 5 bayt
  • Boole değeri için 1 bayt

Belge boyutu

Bir dokümanın boyutu, aşağıdakilerin toplamıdır:

Bu örnek, dize doküman kimliği my_task_id olan users/jeff/tasks alt koleksiyonundaki bir doküman içindir:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Alanların toplam boyutu 71 bayttır:

Alan adı ve değeri Bayt cinsinden alan boyutu
"type": "Personal" 14
Alan adı için 5 + alanın dize değeri için 9
"done": false 6
Alan adı için 5 + alanın boole değeri için 1
"priority": 1 17
Alan adı için 9 + alanın tam sayı değeri için 8
"description": "Learn Cloud Firestore" 34
Alan adı için 12 + alanın dize değeri için 22

Bu durumda doküman boyutu 44 + 71 + 32 = 147 bayttır:

  • Doküman adı için 44 bayt
  • Alanlar için 71 bayt
  • 32 ek bayt

Dizin girişi boyutu

Dizin girişi boyutları, tek alanlı ve bileşik dizinler için aşağıdaki gibi hesaplanır.

Tek alanlı dizin girişi boyutu

Tek alanlı dizin girişinin boyutu, dizinin bir koleksiyonu mu yoksa koleksiyon grubunu mu kapsadığına bağlıdır.

Koleksiyon kapsamı

Koleksiyon kapsamına sahip tek alanlı dizindeki bir girişin boyutu, aşağıdakilerin toplamıdır:

users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

done alanını dizine ekleyen koleksiyon kapsamına sahip tek alanlı bir dizin için bu dizindeki girişin toplam boyutu 109 bayttır:

  • users/jeff/tasks/my_task_id doküman adı için 44 bayt
  • Üst dokümanın doküman adı için 27 bayt users/jeff
  • done alan adı için 5 bayt
  • Boole alanı değeri için 1 bayt
  • 32 ek bayt

Koleksiyon grubu kapsamı

Koleksiyon grubu kapsamına sahip tek alanlı bir dizindeki girişin boyutu, aşağıdakilerin toplamıdır:

users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

done alanını dizine ekleyen koleksiyon grubu kapsamına sahip tek alanlı bir dizin için bu dizindeki girişin toplam boyutu 98 bayttır:

  • users/jeff/tasks/my_task_id doküman adı için 44 bayt
  • done alan adı için 5 bayt
  • Boole alanı değeri için 1 bayt
  • 48 ek bayt

Birleşik dizin girişi boyutu

Birleşik dizindeki bir girişin boyutu, dizinin bir koleksiyon veya koleksiyon grubu kapsamına alınıp alınmadığına bağlıdır.

Koleksiyon kapsamı

Koleksiyon kapsamına sahip bir bileşik dizindeki dizin girişinin boyutu, aşağıdakilerin toplamıdır:

users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

done ve priority alanlarını dizine ekleyen (her ikisi de artan düzende) koleksiyon kapsamına sahip bir bileşik dizin için bu dizindeki girişin toplam boyutu 112 bayttır:

  • users/jeff/tasks/my_task_id doküman adı için 44 bayt
  • Üst dokümanın doküman adı için 27 bayt users/jeff
  • Boole alanı değeri için 1 bayt
  • Tam sayı alan değeri için 8 bayt
  • 32 ek bayt

Koleksiyon grubu kapsamı

Koleksiyon grubu kapsamına sahip bir bileşik dizindeki dizin girişinin boyutu, aşağıdakilerin toplamıdır:

users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

done ve priority alanlarını (her ikisi de artan düzende) dizine ekleyen koleksiyon grubu kapsamına sahip bir bileşik dizin için bu dizindeki dizin girişinin toplam boyutu 85 bayttır:

  • users/jeff/tasks/my_task_id doküman adı için 44 bayt
  • Boole alanı değeri için 1 bayt
  • Tam sayı alan değeri için 8 bayt
  • 32 ek bayt

Metin arama dizini giriş boyutu

Bir dizindeki metin arama dizini girişinin boyutu, aşağıdakilerin toplamıdır:

  • Koleksiyon adının dize boyutu
  • Doküman kimliği değerinin boyutu
  • Dizine eklenen alan değerlerinden gelen baytların toplamı (x2)
  • Genel meta veriler için ek 48 bayt

tasks koleksiyonunda doküman kimliği my_task_id olan bir doküman için ekleme etkinliği örneğini inceleyelim:

description üzerinde bir metin arama dizini girişinin toplam boyutu, aşağıdakilere göre 105 bayttır:

  • Koleksiyon adı için 6 bayt tasks
  • Doküman kimliği değeri için 11 bayt
  • 44 bayt (description alanı için 22 bayt x 2)
  • Genel meta veriler için ek 48 bayt

Coğrafi dizin giriş boyutu

Bir dizindeki coğrafi dizin girişinin boyutu, aşağıdakilerin toplamıdır:

  • Koleksiyon adının dize boyutu
  • Doküman kimliği değerinin boyutu
  • Dizine eklenen her coğrafi nokta için 128 bayt
  • Genel meta veriler için ek 48 bayt

places koleksiyonunda doküman kimliği my_place olan bir doküman için ekleme etkinliği örneğini inceleyelim:

{
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

location üzerindeki bir coğrafi dizin girişinin toplam boyutu 192 bayttır. Bu boyut şu şekilde hesaplanır:

  • Koleksiyon adı için 7 bayt places
  • Doküman kimliği için 9 bayt
  • location alanı için 128 bayt
  • Genel meta veriler için ek 48 bayt

Sırada ne var?

Cloud Firestore fiyatlandırması hakkında bilgi edinin.