Bu sayfada, Cloud Firestore uygulamasındaki dokümanların, doküman adlarının, alanların ve dizin girişlerinin depolama alanı boyutu açıklanmaktadır.
Bu depolama alanının maliyetleri hakkında Cloud Firestore 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 kimlikleri
- Dize doküman kimlikleri
- Doküman adları
- Alan adları
- Dize alanı değerleri
Örneğin:
- Koleksiyon kimliği
tasks, 5 bayt + 1 bayt olmak üzere toplam 6 bayt kullanır. descriptionalan adı 11 bayt + 1 bayt olmak üzere toplam 12 bayt kullanır.
Doküman kimliği boyutu
Doküman kimliğinin boyutu, dize kimliği için dize boyutu veya tam sayı kimliği için 8 bayttır.
Doküman adı boyutu
Bir doküman adının boyutu, aşağıdakilerin toplamıdır:
- Belge yolundaki her koleksiyon kimliğinin ve belge kimliğinin boyutu
- 16 ek bayt
Dize belge kimliği my_task_id olan users/jeff/tasks alt koleksiyonundaki bir belgenin adı 6 + 5 + 6 + 11 + 16 = 44 bayttır:
userskoleksiyon kimliği için 6 baytjeffdoküman kimliği için 5 bayttaskskoleksiyon kimliği için 6 baytmy_task_iddoküman kimliği için 11 bayt- 16 ek bayt
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 |
| Bayt | Bayt uzunluğu |
| Tarih ve saat | 8 bayt |
| Kayan nokta sayısı | 8 bayt |
| Coğrafi nokta | 16 bayt |
| Tam sayı | 8 bayt |
| Harita | Haritanın boyutu, doküman boyutu ile aynı şekilde hesaplanır. |
| Boş | 1 bayt |
| Referans | Doküman adı boyutu |
| Metin dizesi | UTF-8 kodlamalı bayt sayısı + 1 |
| Vektör | Boyut başına 8 bayt |
Ö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:
- Doküman adı boyutu
- Her alan adının dize boyutunun toplamı
- Her bir alan değerinin boyutunun toplamı
- 32 ek bayt
Bu örnek, dize doküman kimliği my_task_id olan users/jeff/tasks alt koleksiyonundaki bir doküman içindir:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Alanların toplam boyutu 71 bayttır:
| Alan adı ve değeri | Bayt cinsinden alan boyutu |
|---|---|
"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 tam sayı değeri için 8 |
"description": "Learn Cloud Firestore" |
34 Alan adı için 12 + alanın dize değeri için 22 |
Bu durumda doküman boyutu 44 + 71 + 32 = 147 bayttır:
- Doküman adı için 44 bayt
- Alanlar için 71 bayt
- 32 ek bayt
Dizin girişi boyutu
Dizin girişi boyutları, tek alanlı ve bileşik dizinler için aşağıdaki gibi hesaplanır.
Tek alanlı dizin girişi boyutu
Tek alanlı dizin girişinin boyutu, dizinin bir koleksiyonu mu yoksa koleksiyon grubunu mu kapsadığına bağlıdır.
Koleksiyon kapsamı
Koleksiyon kapsamına sahip tek alanlı dizindeki bir girişin boyutu, aşağıdakilerin toplamıdır:
- Dizine eklenen dokümanın doküman adı boyutu
- Dizine eklenen dokümanın üst dokümanının doküman adı boyutu
- Dizine eklenen alan adının dize boyutu
- Dizine eklenen alan değerinin boyutu
- 32 ek bayt
users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done alanını dizine ekleyen koleksiyon kapsamına sahip tek alanlı bir dizin için bu dizindeki girişin toplam boyutu 109 bayttır:
users/jeff/tasks/my_task_iddoküman adı için 44 bayt- Üst dokümanın doküman adı için 27 bayt
users/jeff donealan adı için 5 bayt- Boole alanı değeri için 1 bayt
- 32 ek bayt
Koleksiyon grubu kapsamı
Koleksiyon grubu kapsamına sahip tek alanlı bir dizindeki girişin boyutu, aşağıdakilerin toplamıdır:
- Dizine eklenen dokümanın doküman adı boyutu
- Dizine eklenen alan adının dize boyutu
- Dizine eklenen alan değerinin boyutu
- 48 ek bayt
users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done alanını dizine ekleyen koleksiyon grubu kapsamına sahip tek alanlı bir dizin için bu dizindeki girişin toplam boyutu 98 bayttır:
users/jeff/tasks/my_task_iddoküman adı için 44 baytdonealan adı için 5 bayt- Boole alanı değeri için 1 bayt
- 48 ek bayt
Birleşik dizin girişi boyutu
Birleşik dizindeki bir girişin boyutu, dizinin bir koleksiyon veya koleksiyon grubu kapsamına alınıp alınmadığına bağlıdır.
Koleksiyon kapsamı
Koleksiyon kapsamına sahip bir bileşik dizindeki dizin girişinin boyutu, aşağıdakilerin toplamıdır:
- Dizine eklenen dokümanın doküman adı boyutu
- Dizine eklenen dokümanın üst dokümanının doküman adı boyutu
- Dizine eklenen alan değerlerinin toplamı
- 32 ek bayt
users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done ve priority alanlarını dizine ekleyen (her ikisi de artan düzende) koleksiyon kapsamına sahip bir bileşik dizin için bu dizindeki girişin toplam boyutu 112 bayttır:
users/jeff/tasks/my_task_iddoküman adı için 44 bayt- Üst dokümanın doküman adı için 27 bayt
users/jeff - Boole alanı değeri için 1 bayt
- Tam sayı alan değeri için 8 bayt
- 32 ek bayt
Koleksiyon grubu kapsamı
Koleksiyon grubu kapsamına sahip bir bileşik dizindeki dizin girişinin boyutu, aşağıdakilerin toplamıdır:
- Dizine eklenen dokümanın doküman adı boyutu
- Dizine eklenen alan değerlerinin toplamı
- 32 ek bayt
users/jeff/tasks alt koleksiyonunda dize doküman kimliği my_task_id olan bir doküman düşünün:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done ve priority alanlarını (her ikisi de artan düzende) dizine ekleyen koleksiyon grubu kapsamına sahip bir bileşik dizin için bu dizindeki dizin girişinin toplam boyutu 85 bayttır:
users/jeff/tasks/my_task_iddoküman adı için 44 bayt- Boole alanı değeri için 1 bayt
- Tam sayı alan değeri için 8 bayt
- 32 ek 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
- Doküman kimliği değerinin boyutu
- Dizine eklenen alan değerlerinden gelen baytların toplamı (x2)
- Genel meta veriler için ek 48 bayt
tasks koleksiyonunda doküman kimliği my_task_id olan bir doküman için ekleme etkinliği örneğini inceleyelim:
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 - Doküman kimliği değ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
- Doküman kimliği değerinin boyutu
- Dizine eklenen her coğrafi nokta için 128 bayt
- Genel meta veriler için ek 48 bayt
places koleksiyonunda doküman kimliği my_place olan bir doküman için ekleme etkinliği örneğini inceleyelim:
{ "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