Depolama alanı boyutu

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

Bu depolama alanının maliyetleri hakkında 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 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.
  • description alan adı 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
Maksimum Anahtar 1 bayt
Boş 1 bayt
Normal ifade (Kalıp uzunluğu + 1) + (Seçenek uzunluğu + 1)
Zaman damgası 8 bayt
Dize UTF-8 kodlamalı 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 dokümanın 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ın dize değeri için 11
"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 32 bit tam sayı değeri için 4
"description": "Learn Cloud Firestore" 34
Alan adı için 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ıdır:

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 bir dizin için (her ikisi de artan düzende) 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 bit tam sayı alan değeri için 4 bayt
  • 48 ek bayt

Seyrek dizinlerde, bir doküman alanlardan hiçbirini içermiyorsa dizin girişi oluşturulmaz. Bir doküman, dizine eklenen alanlardan en az birini içeriyorsa dizine eklenen eksik alanlar NULL olarak ayarlanmış şekilde bir dizin girişi oluşturulur.

Değişiklik akışı etkinlik girişi boyutu

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

  • Koleksiyon adının dize boyutunun toplamı (x2).
  • Bir doküman için ekleme ve güncelleme etkinlikleri:
    • fullDocument veya updateDescription (_id hariç) içindeki her alan adının dize boyutunun toplamı.
    • 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 inceleyelim:

{
  "_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ş 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 ek 48 bayt

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

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

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
  • _id 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
  • _id değerinin boyutu
  • Dizine eklenen her coğrafi nokta için 128 bayt
  • Genel meta veriler için ek 48 bayt

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

{
    "_id": "my_place",
     "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?

Fiyatlandırma hakkında bilgi edinin.