Bu sayfada, Cloud Firestore içindeki dokümanların, 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 (
_iddahil)
Örneğin:
taskskoleksiyon adı 5 bayt + 1 bayt olmak üzere toplam 6 bayt kullanır.- Alan adı
description11 bayt + 1 bayt olmak üzere toplam 12 bayt kullanır.
Alan değeri boyutu
Aşağıdaki tabloda, alan değerlerinin türüne 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 tamsayı (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 Anahtarı | 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:
donealanı adı için 5 bayt- Boole değeri için 1 bayt
Belge boyutu
Bir belgenin boyutu aşağıdakilerin toplamıdır:
- Koleksiyon adının dize boyutu
- Her alan adının (
_idhariç) dize boyutu toplamı - Her bir alan değerinin (
_iddahil) boyutunun toplamı - 48 ek bayt
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 şunların toplamıdır:
- Koleksiyon adının dize boyutu
_idalan değerinin boyutu- Dizine eklenen alan değerlerinin toplamı
- 48 ek bayt
tasks koleksiyonundaki bir dokümanı inceleyin:
{
"_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 sırada) bu dizindeki dizin girişinin toplam boyutu 70 bayttır:
- Koleksiyon adı için 6 bayt
tasks _idalan 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 belgede alanlardan herhangi biri yoksa dizin girişi oluşturulmaz. Bir belgede dizine eklenmiş alanlardan en az biri varsa dizine eklenmiş alanların eksik olduğu bir dizin girişi oluşturulur ve bu giriş NULL olarak ayarlanır.
Yayın etkinliği giriş boyutunu değiştirme
Bir 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:
fullDocumentveyaupdateDescriptioniçindeki her alan adının dize boyutunun toplamı (_idhariç).fullDocumentveyaupdateDescriptioniçindeki her bir alan değerinin boyutunun toplamı. (_iddahil)
- Çok dokümanlı işlemler için geçerliyse
lsidvetxnNumberiç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 _idalan değeri için 11 baytdescriptionalan adı için 12 baytdescriptionalan 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
_iddeğerinin boyutu- Dizine eklenmiş 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üman için ekleme etkinliği örneğini 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 _iddeğeri için 11 baytdescriptionalanı 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
_iddeğerinin boyutu- Dizine eklenen her coğrafi nokta için 128 bayt
- Genel meta veriler için 48 ek bayt
places koleksiyonunda _id my_place olan bir doküman için ekleme etkinliği örneğini inceleyin:
{ "_id": "my_place", "type": "Restaurant", "visited": false, "priority": 1, "location": GeoPoint(longitude, latitude) }
location üzerindeki bir coğrafi indeks 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
locationalanı için 128 bayt- Genel meta veriler için 48 ek bayt
Sırada ne var?
Fiyatlandırma hakkında bilgi edinin.