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 (
_iddahil)
Örneğin:
taskskoleksiyon adı 5 bayt + 1 bayt olmak üzere toplam 6 bayt kullanır.descriptionalan 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:
donealan 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:
- Koleksiyon adının dize boyutu
- Her alan adının (
_idhariç) dize boyutunun toplamı - Her bir alan değerinin boyutunun toplamı (
_iddahil) - 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ı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:
- Koleksiyon adının dize boyutu
_idalan değerinin boyutu- Dizine eklenen 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 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 _idalan 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:
fullDocumentveyaupdateDescription(_idhariç) içindeki her alan adının dize boyutunun toplamı.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 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 _idalan değeri için 11 baytdescriptionalan adı için 12 baytdescriptionalan 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
_iddeğ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 _iddeğeri için 11 bayt- 44 bayt (
descriptionalanı 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
_iddeğ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
locationalanı için 128 bayt- Genel meta veriler için ek 48 bayt
Sırada ne var?
Fiyatlandırma hakkında bilgi edinin.