Perhitungan Ukuran Penyimpanan

Halaman ini menjelaskan tentang ukuran penyimpanan dokumen, nama dokumen, kolom, dan entri indeks di Cloud Firestore.

Anda dapat mempelajari tentang biaya penyimpanan ini di Harga Cloud Firestore.

Ukuran string

Ukuran string dapat dihitung dengan menjumlahkan byte berenkode UTF-8 + 1.

Hal-hal berikut ini disimpan sebagai string:

  • Nama dokumen
  • ID koleksi
  • Nama kolom
  • Nilai kolom string

Misalnya:

  • ID koleksi Task menggunakan 4 byte + 1 byte, dengan total 5 byte.
  • Nama kolom description menggunakan 11 byte + 1 byte, dengan total 12 byte.

Ukuran nama dokumen

Ukuran nama dokumen merupakan jumlah dari:

  • Ukuran string lengkap untuk nama dokumen (ID bilangan bulat masing-masing 8 byte)
  • 16 byte tambahan

Untuk dokumen dalam koleksi bernama Task dengan ID numerik:

Task id:5730082031140864

Ukurannya adalah 5 + 8 + 16 = 29 byte:

  • 5 byte untuk ID koleksi Task
  • 8 byte untuk ID numerik
  • 16 byte tambahan

Untuk dokumen dalam koleksi bernama Task dengan ID string:

Task name:my_task_id

Ukurannya adalah 5 + 11 + 16 = 32 byte:

  • 5 byte untuk ID koleksi Task
  • 11 byte untuk ID string my_task_id
  • 16 byte tambahan

Ukuran kolom

Ukuran kolom merupakan jumlah dari:

  • Ukuran string pada nama kolom
  • Ukuran nilai kolom

Tabel berikut menunjukkan ukuran nilai kolom menurut jenisnya.

Jenis Ukuran
Array Jumlah 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 yang dihitung dengan cara yang sama seperti ukuran dokumen
Null 1 byte
Referensi Ukuran nama dokumen
String teks Jumlah byte berenkode UTF-8 + 1

Misalnya, kolom boolean bernama done menggunakan 6 byte:

  • 5 byte untuk nama kolom done
  • 1 byte untuk nilai boolean

Ukuran dokumen

Ukuran dokumen merupakan jumlah dari:

Contoh ini berlaku untuk dokumen dalam koleksi Task dengan ID numerik:

Task id:5730082031140864
 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Ukuran total kolom adalah 70 byte:

Nama dan nilai kolom Ukuran kolom dalam satuan byte
"type": "Personal" 14
5 untuk nama kolom + 9 untuk nilai string kolom
"done": false 6
5 untuk nama kolom + 1 untuk nilai boolean kolom
"priority": 1 17
9 untuk nama kolom + 8 untuk nilai bilangan bulat kolom
"description": "Learn Cloud Firestore" 33
12 untuk nama kolom + 21 untuk nilai string kolom

Dengan begitu, ukuran dokumennya adalah 29 + 70 + 32 = 131 byte:

  • 29 byte untuk nama dokumen
  • 70 byte untuk kolom
  • 32 byte tambahan

Ukuran entri indeks

Ukuran entri indeks merupakan jumlah dari:

  • Ukuran nama dokumen pada dokumen yang diindeks
  • Jumlah ukuran kolom yang diindeks
  • Ukuran ID koleksi pada dokumen yang diindeks, jika indeks adalah indeks otomatis (tidak berlaku untuk indeks gabungan)
  • 32 byte tambahan

Pola ini juga digunakan untuk ukuran dokumen, tetapi tidak semua kolom dokumen dimasukkan. Hanya kolom-kolom yang diperlukan indeks yang disimpan. Selain itu, ukuran entri indeks tidak akan melebihi 1.500 byte.

Misalnya, dengan menggunakan dokumen yang sama seperti di atas:

Task id:5730082031140864
 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Jika done adalah kolom yang diindeks, entri indeks otomatis untuk indeks done dengan 1 kolom terdiri dari nama dokumen, nama dan nilai kolom done, ID koleksi Task, dan 32 byte untuk entri indeks. Ukuran total entri indeks ini adalah 72 byte:

  • 29 byte untuk nama dokumen
  • 6 byte untuk nama kolom done dan nilai boolean
  • 5 byte untuk ID koleksi Task
  • 32 byte tambahan

Secara default, Cloud Firestore secara otomatis telah menentukan 2 indeks dengan 1 kolom untuk setiap kolom pada setiap dokumen, 1 dalam urutan menaik dan 1 dalam urutan menurun. Dengan begitu, dokumen ini akan memiliki entri indeks 72 byte di indeks done dengan 1 kolom dalam urutan menaik, dan akan memiliki entri indeks 72 byte di indeks done dengan 1 kolom dalam urutan menurun.

Dengan menggunakan dokumen yang sama, pertimbangkan indeks gabungan yang menggunakan kolom done dan priority (keduanya dalam urutan menaik). Ukuran total entri indeks dalam indeks ini adalah 84 byte:

  • 29 byte untuk nama dokumen
  • 6 byte untuk nama kolom done dan nilai boolean
  • 17 byte untuk nama kolom priority dan nilai bilangan bulat
  • 32 byte tambahan

Apa selanjutnya?

Pelajari tentang harga Cloud Firestore.

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.