Halaman ini menjelaskan ukuran penyimpanan dokumen, nama dokumen, kolom, dan entri indeks di Cloud Firestore.
Anda dapat mempelajari tentang biaya penyimpanan ini di Harga Cloud Firestore .Ukuran tali
Ukuran string dihitung sebagai jumlah byte yang disandikan UTF-8 + 1.
Berikut ini disimpan sebagai string:
- ID koleksi
- ID dokumen string
- Nama dokumen
- Nama bidang
- Nilai bidang string
Sebagai contoh:
-
tasks
koleksi ID menggunakan 5 byte + 1 byte, dengan total 6 byte. -
description
nama bidang menggunakan 11 byte + 1 byte, dengan total 12 byte.
Ukuran ID dokumen
Ukuran ID dokumen adalah ukuran string untuk ID string atau 8 byte untuk ID bilangan bulat.
Ukuran nama dokumen
Ukuran nama dokumen adalah jumlah dari:
- Ukuran setiap ID koleksi dan ID dokumen di jalur ke dokumen
- 16 byte tambahan
Untuk dokumen dalam subkoleksi users/jeff/tasks
dengan ID dokumen string my_task_id
, ukuran nama dokumen adalah 6 + 5 + 6 + 11 + 16 = 44 byte:
- 6 byte untuk ID koleksi
users
- 5 byte untuk ID dokumen
jeff
- 6 byte untuk ID pengumpulan
tasks
- 11 byte untuk ID dokumen
my_task_id
- 16 byte tambahan
Ukuran nilai bidang
Tabel berikut menampilkan ukuran nilai bidang berdasarkan jenis.
Jenis | Ukuran |
---|---|
Himpunan | Jumlah dari ukuran nilainya |
Boolean | 1 byte |
Byte | Panjang byte |
Tanggal dan waktu | 8 byte |
Angka floating-point | 8 byte |
Titik geografis | 16 byte |
Bilangan bulat | 8 byte |
Peta | Ukuran peta, dihitung dengan cara yang sama seperti ukuran dokumen |
Batal | 1 byte |
Referensi | Ukuran nama dokumen |
Untaian teks | Jumlah byte yang disandikan UTF-8 + 1 |
Misalnya, bidang boolean bernama done
akan menggunakan 6 byte:
- 5 byte untuk nama bidang
done
- 1 byte untuk nilai boolean
Ukuran dokumen
Ukuran dokumen adalah jumlah dari:
- Ukuran nama dokumen
- Jumlah ukuran string dari setiap nama bidang
- Jumlah ukuran setiap nilai bidang
- 32 byte tambahan
Contoh ini untuk dokumen dalam subkoleksi users/jeff/tasks
dengan string ID dokumen my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Ukuran total bidang adalah 71 byte:
Nama bidang dan nilai | Ukuran bidang dalam byte |
---|---|
"type": "Personal" | 14 5 untuk nama bidang + 9 untuk nilai string bidang |
"done": false | 6 5 untuk nama bidang + 1 untuk nilai boolean bidang |
"priority": 1 | 17 9 untuk nama bidang + 8 untuk nilai bilangan bulat bidang |
"description": "Learn Cloud Firestore" | 34 12 untuk nama bidang + 22 untuk nilai string bidang |
Jadi ukuran dokumennya adalah 44 + 71 + 32 = 147 byte:
- 44 byte untuk nama dokumen
- 71 byte untuk bidang
- 32 byte tambahan
Ukuran entri indeks
Ukuran entri indeks dihitung sebagai berikut untuk indeks bidang tunggal dan gabungan.
Ukuran entri indeks bidang tunggal
Ukuran entri indeks bidang tunggal bergantung pada apakah indeks dicakup ke koleksi atau grup koleksi.
Cakupan koleksi
Ukuran entri dalam indeks bidang tunggal dengan cakupan koleksi adalah jumlah dari:
- Ukuran nama dokumen dari dokumen yang diindeks
- Ukuran nama dokumen dari dokumen induk dokumen yang diindeks
- Ukuran string dari nama bidang yang diindeks
- Ukuran nilai bidang yang diindeks
- 32 byte tambahan
Pertimbangkan dokumen di sub-koleksi users/jeff/tasks
dengan string ID dokumen my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Untuk indeks bidang tunggal dengan cakupan koleksi yang mengindeks bidang done
, ukuran total entri dalam indeks ini adalah 109 byte:
- 44 byte untuk nama dokumen
users/jeff/tasks/my_task_id
- 27 byte untuk nama dokumen dokumen induk
users/jeff
- 5 byte untuk nama bidang
done
- 1 byte untuk nilai bidang boolean
- 32 byte tambahan
Lingkup grup koleksi
Ukuran entri dalam indeks bidang tunggal dengan cakupan grup koleksi adalah jumlah dari:
- Ukuran nama dokumen dari dokumen yang diindeks
- Ukuran string dari nama bidang yang diindeks
- Ukuran nilai bidang yang diindeks
- 48 byte tambahan
Pertimbangkan dokumen di sub-koleksi users/jeff/tasks
dengan string ID dokumen my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Untuk indeks bidang tunggal dengan cakupan grup koleksi yang mengindeks bidang done
, ukuran total entri dalam indeks ini adalah 98 byte:
- 44 byte untuk nama dokumen
users/jeff/tasks/my_task_id
- 5 byte untuk nama bidang
done
- 1 byte untuk nilai bidang boolean
- 48 byte tambahan
Ukuran entri indeks komposit
Ukuran entri dalam indeks gabungan bergantung pada apakah indeks dicakup ke koleksi atau grup koleksi.
Cakupan koleksi
Ukuran entri indeks dalam indeks gabungan dengan cakupan koleksi adalah jumlah dari:
- Ukuran nama dokumen dari dokumen yang diindeks
- Ukuran nama dokumen dari dokumen induk dokumen yang diindeks
- Jumlah nilai bidang yang diindeks
- 32 byte tambahan
Pertimbangkan dokumen di sub-koleksi users/jeff/tasks
dengan string ID dokumen my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Untuk indeks gabungan dengan cakupan koleksi yang mengindeks bidang done
dan priority
(keduanya menaik), ukuran total entri dalam indeks ini adalah 112 byte:
- 44 byte untuk nama dokumen
users/jeff/tasks/my_task_id
- 27 byte untuk nama dokumen dokumen induk
users/jeff
- 1 byte untuk nilai bidang boolean
- 8 byte untuk nilai bidang bilangan bulat
- 32 byte tambahan
Lingkup grup koleksi
Ukuran entri indeks dalam indeks gabungan dengan cakupan grup koleksi adalah jumlah dari:
- Ukuran nama dokumen dari dokumen yang diindeks
- Jumlah nilai bidang yang diindeks
- 32 byte tambahan
Pertimbangkan dokumen di sub-koleksi users/jeff/tasks
dengan string ID dokumen my_task_id
:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
Untuk indeks komposit dengan cakupan grup koleksi yang mengindeks bidang done
dan priority
(keduanya menaik), ukuran total entri indeks dalam indeks ini adalah 85 byte:
- 44 byte untuk nama dokumen
users/jeff/tasks/my_task_id
- 1 byte untuk nilai bidang boolean
- 8 byte untuk nilai bidang bilangan bulat
- 32 byte tambahan