Hanya relevan dengan edisi Cloud Firestore Enterprise. |
Halaman ini menjelaskan ukuran penyimpanan dokumen, kolom, dan entri indeks di Cloud Firestore dengan kompatibilitas MongoDB.
Anda dapat mempelajari biaya penyimpanan ini di halaman Harga.
Ukuran string
Ukuran string dapat dihitung dengan menjumlahkan byte berenkode UTF-8 +1.
Hal-hal berikut ini disimpan sebagai string:
- Nama koleksi
- Nama kolom
- Nilai kolom string (termasuk
_id
)
Contoh:
- Nama koleksi
tasks
menggunakan 5 byte + 1 byte, dengan total 6 byte. - Nama kolom
description
menggunakan 11 byte + 1 byte, untuk total 12 byte.
Ukuran nilai kolom
Tabel berikut menunjukkan ukuran nilai kolom menurut jenisnya.
Jenis | Ukuran |
---|---|
Array | Jumlah ukuran nilainya |
Boolean | 1 byte |
Data biner | Panjang byte + 1 untuk subjenis non-generik (non-0) |
Tanggal | 8 byte |
Ganda | 8 byte |
Double128 | 16 byte |
Bilangan bulat 32-bit | 4 byte |
Bilangan bulat 64-bit (long) | 8 byte |
Objek | Jumlah ukuran string setiap nama kolom dan ukuran setiap nilai kolom dalam objek sematan |
Kunci Min | 1 byte |
Kunci Maks | 1 byte |
Null | 1 byte |
Ekspresi reguler | (Panjang pola + 1) + (Panjang opsi + 1) |
Stempel waktu | 8 byte |
String | Jumlah byte berenkode UTF-8 + 1 |
Misalnya, kolom (logika) boolean bernama done
akan menggunakan 6 byte:
- 5 byte untuk nama kolom
done
- 1 byte untuk nilai boolean
Ukuran dokumen
Ukuran dokumen merupakan jumlah dari:
- Ukuran string nama koleksi
- Jumlah ukuran string dari setiap nama kolom (kecuali
_id
) - Jumlah ukuran setiap nilai kolom (termasuk
_id
) - 48 byte tambahan
Contoh ini adalah untuk dokumen dalam koleksi tasks
:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
Ukuran total kolom adalah 78 byte:
Nama dan nilai kolom | Ukuran kolom dalam satuan byte |
---|---|
"_id": "my_task_id" |
11 untuk nilai string kolom |
"type": "Personal" |
14 5 untuk nama kolom + 9 untuk nilai string kolom |
"done": false |
6 5 untuk nama kolom + 1 untuk nilai (logika) boolean kolom |
"priority": 1 |
17 9 untuk nama kolom + 4 untuk nilai bilangan bulat 32-bit kolom |
"description": "Learn Cloud Firestore" |
34 12 untuk nama kolom + 22 untuk nilai string kolom |
Jadi, ukuran dokumennya adalah 6 + 78 + 48 = 132 byte:
- 6 untuk nama koleksi
- 78 byte untuk kolom
- 48 byte tambahan
Ukuran entri indeks
Ukuran entri indeks dalam indeks adalah jumlah dari:
- Ukuran string nama koleksi
- Ukuran nilai kolom
_id
- Jumlah nilai kolom yang diindeks
- 48 byte tambahan
Pertimbangkan dokumen dalam koleksi tasks
:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
Untuk indeks pada kolom done
dan
priority
(keduanya naik), ukuran total entri indeks dalam
indeks ini adalah 70 byte:
- 6 byte untuk nama koleksi
tasks
- 11 byte untuk nilai kolom
_id
- 1 byte untuk nilai kolom (logika) boolean
- 4 byte untuk nilai kolom bilangan bulat 32-bit
- 48 byte tambahan
Untuk indeks jarang, jika dokumen tidak menyertakan kolom apa pun, maka tidak ada entri indeks yang dibuat. Jika dokumen berisi setidaknya satu kolom yang diindeks, entri indeks dibuat dengan kolom yang diindeks yang tidak ada ditetapkan ke NULL
.
Langkah berikutnya
Pelajari harga