| Hanya berlaku untuk edisi Cloud Firestore Enterprise. |
Halaman ini menyertakan contoh cara penghitungan unit penagihan dalam beberapa skenario yang paling umum. Perhatikan bahwa setiap kueri mungkin berbeda dalam data yang diproses berdasarkan faktor seperti paket kueri, bentuk data, dan indeks yang tersedia.
Sebaiknya gunakan fitur Query Explain untuk lebih memahami biaya dan performa kueri spesifik Anda.
Operasi baca
Sebagian besar operasi baca melibatkan pelaksanaan pembacaan titik dokumen tertentu atau pemindaian rentang data berdasarkan ID. Operasi baca menggunakan unit baca. Unit baca dihitung dalam porsi 4 KiB. Lihat contoh berikut.
Pembacaan titik
Contoh penagihan untuk pembacaan titik:
- Pembacaan titik satu dokumen 1 KiB. Memakai: 1 unit baca
- Pembacaan titik satu dokumen 4 KiB. Memakai: 1 unit baca
- Pembacaan titik satu dokumen 1 MiB. Memakai: 256 unit baca
- Pembacaan titik 100 dokumen, masing-masing berukuran 1 KiB. Memakai: 100 unit baca
Memindai
Contoh berikut mencakup skenario yang memindai dokumen atau entri indeks.
Memindai Dokumen
- Kueri yang memindai 100 dokumen, masing-masing berukuran 1 KiB. Memakai: 25 unit baca
Memindai indeks
Biaya pemindaian, dalam hal byte, akan sama tanpa mempertimbangkan apakah file yang dipindai itu dokumen atau indeks. Namun, entri indeks sering kali berukuran lebih kecil. Oleh karena itu, metode ini sering kali memberikan cara yang lebih hemat biaya untuk memindai data.
- Kueri yang memindai 100 entri indeks, masing-masing berukuran 1 KiB. Memakai: 25 unit baca.
- Kueri yang memindai 100 entri indeks, masing-masing 128 byte. Memakai: 4 unit baca.
Ukuran minimum dokumen atau entri indeks
Dalam situasi tertentu, Anda mungkin tidak perlu membaca isi dokumen atau entri indeks untuk memenuhi kueri. Hal ini mencakup kueri jumlah sederhana seperti menghitung jumlah total dokumen dalam koleksi. Dalam situasi ini, biaya minimum sebesar 32 byte berlaku per item yang dipindai.
- Menghitung jumlah dokumen dalam koleksi. Kueri memindai 1.000 item dalam koleksi. Memakai: 8 unit baca.
Kombinasi pemindaian dan pembacaan titik
Banyak kueri melakukan kombinasi pemindaian dan pembacaan titik untuk memenuhi operasi.
- Kueri yang memindai 128 entri indeks, masing-masing berukuran 256 byte, dan melakukan
pembacaan titik 128 dokumen, masing-masing 4 KiB. Memakai: 136 unit baca, yang terdiri dari:
- 128 unit baca untuk pembacaan titik
- 8 unit baca untuk pemindaian indeks
Query Explain
Query Explain membantu Anda memahami cara database menjalankan kueri Anda. Detail yang diberikan dapat membantu Anda mengoptimalkan kueri.
Biaya berikut berlaku saat menggunakan Query Explain:
- Query Explain yang menjalankan kueri: Biaya kueri berlaku.
- Query Explain menggunakan opsi khusus paket. Memakai: 1 unit baca (biaya minimum kueri)
Operasi tulis
Operasi tulis (membuat, memperbarui, dan menghapus) dikenai biaya berdasarkan ukuran dokumen dan indeks yang dibuat, diubah, atau dihapus selama operasi. Operasi tulis menggunakan unit tulis. Unit tulis dihitung dalam porsi 1 KiB.
Operasi tulis sederhana, seperti update menurut ID dokumen, hanya dikenakan biaya penulisan. Operasi tulis yang memerlukan pembuatan kueri untuk memenuhi operasi juga akan dikenai biaya baca yang terkait dengan kueri tersebut.
Lihat contoh berikut.
Pembuatan
- Membuat dokumen 10 KiB baru tanpa indeks. Memakai: 10 unit tulis
- Membuat dokumen 1 KiB dengan 1 entri indeks 256 byte pada koleksi. Memakai: 2 unit tulis
Update
- Menemukan dokumen 10 KiB menurut ID dokumen dan memperbarui tanpa indeks pada koleksi. Memakai: 10 unit tulis
- Menemukan dokumen 1 KiB menurut ID dokumen dan memperbarui 1 kolom dengan 1 entri indeks sebesar 256 byte. Memakai: 3 unit tulis. Catatan: Memperbarui entri indeks dalam situasi ini memakai 2 unit operasi tulis—satu untuk menghapus dan satu untuk membuat ulang entri indeks.
- Menemukan dokumen 1 KiB menurut ID dokumen dan tidak memperbarui apa pun (tidak ada perubahan). Memakai: 1 unit tulis (biaya tulis minimum)
- Membuat kueri semua dokumen 1 KiB dalam koleksi, yang memindai 1.000 dokumen, dan menyisipkan kolom 256 byte baru tanpa indeks pada koleksi: 1.000 unit baca dan 1.000 unit tulis.
Penghapusan
- Menghapus dokumen 1 KiB yang memiliki 1 indeks pada koleksi. Memakai: 2 unit tulis
- Menghapus dokumen 1 KiB yang tidak memiliki indeks pada koleksi. Memakai: 1 unit tulis
Membangun indeks
Pembangunan indeks dikenai biaya untuk entri indeks yang dibuat atau diubah selama operasi pembangunan. Biaya ini akan dikenakan setiap kali definisi indeks ditambahkan atau dihapus. Entri indeks ditagih sama dengan operasi tulis yang dikenai biaya 1 unit tulis per 1 KiB.
- Membuat indeks baru untuk koleksi yang berisi 500 dokumen, setiap entri indeks yang dibuat berukuran 1 KiB. Memakai 500 unit tulis.
- Menghapus indeks yang ada untuk koleksi yang berisi 500 dokumen, dengan setiap entri indeks yang dihapus berukuran 1 KiB. Memakai 500 unit tulis.