Harga Firestore

Dokumen ini menjelaskan detail harga Firestore. Selain itu, dokumen ini juga memberi tahu cara membatasi dan memantau pengeluaran Anda di Firestore.

Jika Anda melakukan pembayaran dengan mata uang selain USD, yang berlaku adalah harga yang tercantum dalam mata uang Anda pada SKU Cloud Platform.

Ringkasan harga

Saat menggunakan Firestore, Anda dikenai biaya untuk hal-hal berikut:

  • Jumlah dokumen yang Anda baca, tulis, dan hapus.
  • Jumlah penyimpanan yang digunakan database Anda, termasuk overhead untuk metadata dan indeks.
  • Jumlah bandwidth jaringan yang digunakan.

Penggunaan bandwidth dan penyimpanan dihitung dalam gigabyte (GiB), dengan 1 GiB = 230 byte. Semua biaya akan diakumulasikan setiap harinya.

Bagian berikut ini menjelaskan secara detail tentang biaya yang ditagihkan kepada Anda untuk penggunaan Firestore.

Harga berdasarkan lokasi

Tabel berikut mencantumkan harga untuk pembacaan, penulisan, penghapusan, dan penyimpanan untuk setiap lokasi Firestore:

Jika Anda melakukan pembayaran dengan mata uang selain USD, yang berlaku adalah harga yang tercantum dalam mata uang Anda di SKU Cloud Platform.

Pembacaan, penulisan, dan penghapusan

Anda dikenai biaya untuk setiap pembacaan, penulisan, dan penghapusan dokumen yang dilakukan dengan Firestore.

Pengenaan biaya untuk penulisan dan penghapusan dihitung dengan mudah. Untuk operasi tulis, setiap operasi set atau update dihitung satu penulisan.

Namun, harap diperhatikan bahwa pengenaan biaya untuk pembacaan agak sedikit berbeda. Bagian berikut ini akan menjelaskan perbedaan tersebut secara detail.

Mendeteksi hasil kueri

Dengan Firestore, Anda dapat mendeteksi hasil kueri dan mendapatkan update realtime saat hasil kueri berubah.

Saat mendeteksi hasil kueri, Anda dikenai biaya pembacaan setiap kali terdapat penambahan atau pembaruan dokumen di kumpulan hasil. Anda juga dikenai biaya pembacaan ketika dokumen dihapus dari kumpulan hasil karena dokumen telah berubah. (Sebaliknya, saat dokumen dihapus, Anda tidak dikenai biaya pembacaan.)

Selain itu, jika listener tidak terhubung selama lebih dari 30 menit (misalnya, jika pengguna offline), Anda akan dikenai biaya pembacaan karena dianggap telah mengeluarkan kueri baru.

Mengelola kumpulan hasil yang besar

Firestore memiliki beberapa fitur yang dapat membantu Anda mengelola kueri yang menampilkan hasil dalam jumlah besar:

  • Cursor, membuat Anda dapat melanjutkan kueri yang telah berjalan lama.
  • Token halaman, membantu Anda memberi nomor pada hasil kueri.
  • Batas, menentukan berapa banyak hasil yang akan diambil.
  • Offset, membuat Anda dapat melewati sejumlah dokumen tertentu.

Penggunaan cursor, token halaman, dan batas tidak dikenai biaya tambahan. Tidak hanya itu, semua fitur tersebut dapat membantu menghemat uang hanya dengan membaca dokumen yang Anda butuhkan.

Namun, jika terdapat offset dalam kueri yang dikirim, Anda dikenai biaya pembacaan untuk setiap dokumen yang dilewati. Misalnya, jika kueri menggunakan offset 10, dan kueri tersebut menampilkan 1 dokumen, Anda akan dikenai biaya untuk 11 pembacaan. Karena biaya tambahan ini, Anda harus menggunakan cursor dan bukan offset, jika memungkinkan.

Kueri selain pembacaan dokumen

Untuk kueri selain pembacaan dokumen, seperti permintaan daftar ID koleksi, Anda dikenai biaya untuk pembacaan satu dokumen. Jika mengambil kumpulan hasil yang lengkap memerlukan lebih dari satu permintaan (misalnya, jika menggunakan penomoran halaman), Anda dikenai biaya sebanyak satu kali per permintaan.

Biaya minimum untuk kueri

Terdapat biaya minimum pada satu pembacaan dokumen untuk setiap kueri yang Anda lakukan, meskipun kueri tidak menampilkan hasil apa pun.

Aturan Keamanan Firestore

Untuk library klien seluler dan web, jika Aturan Keamanan Firestore Anda menggunakan exists(), get(), atau getAfter() untuk membaca satu atau beberapa dokumen dari database, Anda dikenai biaya pembacaan tambahan sebagai berikut:

  • Anda dikenai biaya pembacaan yang dibutuhkan untuk mengevaluasi Aturan Keamanan Firestore.

    Misalnya, jika aturan Anda mengacu pada 3 dokumen, tetapi Firestore hanya perlu membaca 2 dokumen untuk mengevaluasi aturan, Anda akan dikenai biaya untuk 2 pembacaan tambahan terhadap dokumen tertanggung.

    Anda hanya dikenai biaya untuk satu kali pembacaan per dokumen tertanggung, bahkan jika dokumen tersebut dirujuk lebih dari satu kali oleh aturan Anda.

  • Anda hanya dikenai biaya untuk evaluasi aturan sebanyak satu kali per permintaan.

    Oleh karena itu, biaya pembacaan banyak dokumen menjadi lebih murah daripada membaca dokumen satu per satu, karena permintaan yang dibutuhkan lebih sedikit untuk membaca beberapa dokumen sekaligus.

  • Saat mendeteksi hasil kueri, Anda dikenai biaya untuk evaluasi aturan dalam semua kasus berikut:

    • Saat Anda mengeluarkan kueri.
    • Setiap kali hasil kueri diupdate.
    • Kapan pun perangkat pengguna offline, lalu kembali online.
    • Kapan pun Anda mengupdate aturan.
    • Kapan pun Anda mengupdate dokumen tertanggung dalam aturan.

Ukuran penyimpanan

Anda akan dikenakan biaya untuk jumlah data yang disimpan di Firestore, termasuk overhead penyimpanan. Jumlah overhead meliputi metadata, indeks otomatis, dan indeks gabungan. Setiap dokumen yang tersimpan di Firestore memerlukan metadata berikut:

  • ID dokumen, termasuk ID koleksi dan nama dokumen.
  • Nama dan nilai setiap kolom. Karena Firestore tidak memiliki skema, nama setiap kolom dalam dokumen harus disimpan dengan nilai kolom.
  • Indeks gabungan dan indeks satu kolom yang mengacu pada dokumen. Setiap entri indeks akan berisi ID koleksi; sejumlah nilai kolom, bergantung pada definisi indeks; dan nama dokumen.

Pelajari cara menghitung penyimpanan Firestore di Perhitungan Ukuran Penyimpanan. Anda dapat melihat jumlah penyimpanan yang digunakan database dengan mengunjungi halaman Detail Kuota App Engine di Cloud Console.

Bandwidth jaringan

Anda dikenai biaya untuk bandwidth jaringan yang digunakan oleh permintaan Firestore, seperti yang ditunjukkan pada bagian berikut. Biaya bandwidth jaringan permintaan Firestore bergantung pada ukuran respons permintaan, lokasi database Firestore Anda, dan tujuan respons.

Firestore menghitung ukuran respons berdasarkan format pesan diserialkan. Overhead protokol, seperti overhead SSL, tidak diperhitungkan terhadap penggunaan bandwidth jaringan. Permintaan yang ditolak oleh Aturan Keamanan Firestore tidak diperhitungkan dalam penggunaan bandwidth jaringan.

Untuk mempelajari berapa banyak bandwidth jaringan yang telah digunakan, Anda dapat menggunakan Cloud Console untuk mengekspor data penagihan ke file.

Harga jaringan umum

Untuk permintaan yang berasal dari Google Cloud Platform (misalnya, dari aplikasi yang berjalan di Google Compute Engine), Anda dikenai biaya sebagai berikut:

Jenis traffic Harga
Masuk Gratis
Keluar dalam suatu region Gratis
Keluar antar-region di multi-region yang sama Gratis
Keluar antar-region di AS (per GiB) $0,01 (gratis 10 GiB pertama per bulan)
Keluar antar-region, tidak termasuk traffic antar region AS Tarif egress internet untuk Google Cloud Platform

Jika Anda melakukan pembayaran dengan mata uang selain USD, yang berlaku adalah harga yang tercantum dalam mata uang Anda di SKU Cloud Platform.

Tarif keluar Internet

Anda akan dikenakan biaya keluar internet untuk hal berikut:

  • Permintaan Google Cloud antar-region, tidak termasuk traffic antar-region AS
  • Permintaan dari luar Google Cloud (misalnya, dari perangkat seluler pengguna)

Memantau penggunaan

Anda dapat melihat penggunaan Firestore harian di halaman Kuota App Engine:

Buka halaman Kuota

Mengelola pengeluaran

Untuk mengelola pembelanjaan Anda, tetapkan anggaran bulanan dan notifikasi.

Pemberitahuan dan anggaran Google Cloud

Dengan Google Cloud, Anda dapat menetapkan anggaran bulanan untuk semua layanan Google Cloud. Gunakan anggaran bulanan untuk memantau biaya Google Cloud secara keseluruhan, termasuk biaya bandwidth jaringan untuk Firestore. Setelah menetapkan anggaran, Anda dapat menyetel pemberitahuan, yang menyebabkan Anda menerima notifikasi email karena biaya Anda bertambah mendekati anggaran.

Biaya yang dihitung terhadap batas pengeluaran App Engine juga dihitung terhadap anggaran bulanan Anda.

Ikuti petunjuk ini untuk menetapkan anggaran bulanan dan membuat pemberitahuan di Cloud Console.

Batas pembelanjaan App Engine

Dengan App Engine, Anda dapat menetapkan batas pengeluaran harian pada App Engine dan resource terkaitnya, yang mencakup database Datastore dan Firestore. Batas ini merupakan perkiraan dan harus cukup besar untuk menangani lonjakan penggunaan resource. Setelah Anda melebihi batas pengeluaran harian, semua operasi Firestore yang tidak berada dalam batas penggunaan gratis Anda akan gagal.

Contoh penghitungan harga

Untuk melihat bagaimana biaya penagihan Firestore bertambah dalam aplikasi sampel dunia nyata, lihat contoh penagihan Firestore.

Langkah berikutnya