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 (
_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ü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:
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 boyutunun 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, aşağıdakilerin toplamına eşittir:
- Koleksiyon adının dize boyutu
_idalan değerinin boyutu- Dizinlenmiş alan değerlerinin toplamı
- 48 ek bayt
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 _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 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:
fullDocumentveyaupdateDescriptioniçindeki her alan adının dize boyutunun toplamı (_idhariç).fullDocumentveyaupdateDescriptioniçindeki her bir alan değerinin boyutunun toplamı. (_iddahil).
- Çok belgeli 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 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 _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
_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
locationalanı için 128 bayt- Genel meta veriler için 48 ek bayt
Sırada ne var?
Fiyatlandırma hakkında bilgi edinin.