Depolama alanı boyutu

Bu sayfada, Cloud Firestore içindeki belgelerin, alanların ve dizin girişlerinin depolama boyutu açıklanmaktadır.

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

Dize boyutu

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

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

  • Koleksiyon adı
  • Alan adları
  • Dize alanı değerleri (_id dahil)

Örneğin:

  • tasks koleksiyon adı 5 bayt + 1 bayt olmak üzere toplam 6 bayt kullanır.
  • Alan adı description 11 bayt + 1 bayt olmak üzere toplam 12 bayt kullanır.

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
İkili veri Genel olmayan (0 olmayan) bir alt tür için bayt uzunluğu + 1
Tarih 8 bayt
Çift 8 bayt
Double128 16 bayt
32 bit tam sayı 4 bayt
64 bit tam sayı (uzun) 8 bayt
Nesne Yerleştirilmiş nesnedeki her alan adının dize boyutlarının ve her alan değerinin boyutlarının toplamı
Min Key 1 bayt
Max Key 1 bayt
Boş 1 bayt
Normal ifade (Desen uzunluğu + 1) + (Seçenek uzunluğu + 1)
Zaman damgası 8 bayt
Dize UTF-8 ile kodlanmış bayt sayısı + 1

Ö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 belgenin boyutu, aşağıdakilerin toplamıdır:

Bu örnek, tasks koleksiyonundaki bir doküman içindir:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

Alanların toplam boyutu 78 bayttır:

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

Bu nedenle, doküman boyutu 6 + 78 + 48 = 132 bayttır:

  • Koleksiyon adı için 6
  • Alanlar için 78 bayt
  • 48 ek bayt

Dizin girişi boyutu

Bir dizindeki dizin girişinin boyutu, aşağıdakilerin toplamına eşittir:

tasks koleksiyonundaki bir dokümanı ele alalım:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

done ve priority alanlarındaki (her ikisi de artan) bir dizin için bu dizindeki dizin girişinin toplam boyutu 70 bayttır:

  • Koleksiyon adı için 6 bayt tasks
  • _id alan değeri için 11 bayt
  • Boole alanı değeri için 1 bayt
  • 32 bitlik tam sayı alanı değeri için 4 bayt
  • 48 ek bayt

Seyrek dizinlerde, bir belge alanlardan hiçbirini içermiyorsa dizin girişi oluşturulmaz. Bir belge, dizine eklenmiş alanlardan en az birini içeriyorsa dizine eklenmiş alanlar NULL olarak ayarlanmış bir dizin girişi oluşturulur.

Değişiklik akışı etkinlik girişi boyutunu değiştirme

Değişiklik akışı etkinliğinin boyutu, aşağıdakilerin toplamıdır:

  • Koleksiyon adının dize boyutunun (x2) toplamı.
  • Bir dokümanla ilgili ekleme ve güncelleme etkinlikleri için:
    • fullDocument veya updateDescription içindeki her alan adının dize boyutunun toplamı (_id hariç).
    • fullDocument veya updateDescription içindeki her bir alan değerinin boyutunun toplamı. (_id dahil).
  • Çok belgeli işlemler için geçerliyse lsid ve txnNumber için ek 24 bayt.
  • 92 ek bayt

Görevler koleksiyonundaki bir doküman için ekleme etkinliği örneğini inceleyin:

{
  "_id": { <Resume Token> },
  "operationType": "insert",
  "clusterTime": <Timestamp>,
  "wallTime": <ISODate>,
  "ns": {
     "db": "db",
     "coll": "tasks"
  },
  "documentKey": {
     "_id": "my_task_id"
  },
  "fullDocument": {
     "_id": "my_task_id",
     "description": "Learn Cloud Firestore"
  },
}

Değişiklik akışı etkinliğinin toplam boyutu 149 bayttır:

  • Genel meta veriler için 92 bayt
  • Koleksiyon adına göre 12 bayt tasks (6 bayt) * 2
  • _id alan değeri için 11 bayt
  • description alan adı için 12 bayt
  • description alan değeri için 22 bayt

Metin arama dizini girişi boyutu

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

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

tasks koleksiyonunda _id my_task_id olan bir dokümana ekleme etkinliğiyle ilgili örneği inceleyin:

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

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

  • Koleksiyon adı için 6 bayt tasks
  • _id değeri için 11 bayt
  • description alanı için 22 bayt x 2 = 44 bayt
  • Genel meta veriler için 48 ek bayt

Coğrafi dizin girişi boyutu

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

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

_id my_place koleksiyonundaki bir doküman için ekleme etkinliği örneğini inceleyin:places

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

location üzerindeki bir coğrafi dizin girişinin toplam boyutu, aşağıdakilere göre 192 bayttı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 48 ek bayt

Sırada ne var?

Fiyatlandırma hakkında bilgi edinin.