Ringkasan antarmuka kueri

Halaman ini menjelaskan berbagai antarmuka yang tersedia untuk mengakses data di database Firestore dalam mode Native.

Antarmuka operasi

Firestore dalam mode Native mendukung dua antarmuka untuk mengakses data:

Operasi pipeline

Antarmuka kueri yang lebih baru untuk Firestore. Operasi pipeline mendukung sintaksis composable berbasis tahap. Anda membuat operasi dengan menentukan serangkaian tahap berurutan yang dieksekusi secara berurutan. Hal ini memungkinkan operasi yang kompleks, seperti memfilter hasil agregasi, yang sebelumnya tidak dapat dilakukan di antarmuka asli (Operasi inti).

Operasi pipeline hanya tersedia di edisi Firestore Enterprise dan berada di tahap peluncuran Pratinjau.

Operasi inti

Operasi inti adalah antarmuka asli untuk Firestore. Operasi inti menggunakan sintaksis penggabungan metode (.where(), .orderBy(), .get()) pada referensi dokumen atau koleksi untuk mengambil dokumen. Pengurutan tahap kueri tersirat dan dukungan agregasi terbatas.

Operasi Core tersedia di edisi Enterprise dan Standard, tetapi default indeks sangat berbeda di antara kedua edisi tersebut. Lihat bagian berikutnya untuk mengetahui detailnya.

Perbedaan antarmuka antara edisi

Dengan diperkenalkannya dukungan Firestore dalam mode Native di edisi Enterprise, operasi Firestore Core dan Pipeline tersedia. Saat menggunakan operasi Core di edisi Enterprise, perilaku indeks dan model penetapan harga baru menghilangkan banyak batasan edisi Standard.

Fitur Edisi standar Edisi perusahaan
Operasi pembuatan kueri yang didukung Hanya operasi Firestore Core. Mendukung operasi Firestore Core dan Pipeline, serta operasi Firestore dengan kompatibilitas MongoDB.
Persyaratan Pengindeksan Semua kueri memerlukan indeks. Kueri tidak memerlukan indeks.
Pembuatan indeks Indeks otomatis dibuat untuk setiap kolom. Anda dapat membuat indeks komposit secara manual. Tidak ada indeks otomatis yang dibuat. Indeks harus dikelola secara manual.
Performa & Biaya Kueri Kueri umumnya berperforma baik karena adanya persyaratan indeks. Mengoptimalkan performa dan biaya kueri dengan membuat indeks. Anda dapat mengidentifikasi indeks yang tidak ada menggunakan Query Explain dan Query Insights.

Kueri tanpa indeks berisiko menjadi berperforma buruk dan mahal seiring pertumbuhan set data sehingga memerlukan pemantauan dan penyesuaian.

Biaya Overhead Pengindeksan Tidak ada biaya untuk penulisan indeks karena indeks bersifat otomatis. Menulis entri indeks memakai unit tulis saat dokumen terkait ditulis (1 unit tulis per 1 KiB ukuran entri indeks). Anda dapat menghemat biaya penyimpanan karena tidak membuat entri indeks untuk setiap kolom.
Model Penagihan (Pembacaan/Penulisan/Penghapusan) Dikenai biaya per pembacaan, penulisan, dan penghapusan dokumen. Dikenai biaya per pembacaan dan penulisan (porsi). Pembacaan dikenai biaya untuk setiap Unit Baca (porsi 4 KiB). Penulisan dan penghapusan digabungkan menjadi Unit Tulis (porsi 1 KiB).
Harga Dasar (per juta)

Harga yang ditampilkan adalah untuk region us-central1

Pembacaan: $0,03 per 100.000 dokumen (atau $0,30 per juta).

Penulisan: $0,09 per 100.000 dokumen (atau $0,90 per juta).

Penghapusan: $0,01 per 100.000 dokumen (atau $0,10 per juta)

Unit Baca: $0,05 per 1 juta unit baca.

Unit Tulis: $0,26 per 1 juta unit tulis. Pada umumnya, harga lebih rendah jika dokumen berukuran di bawah 4 KiB dibandingkan dengan biaya Pembacaan Standar.

Pembaruan Real-time

Harga yang ditampilkan adalah untuk region us-central1

Pembaruan real-time dikenai biaya sebagai Pembacaan sebesar $0,03 per 100.000 dokumen. Pembaruan real-time memiliki SKU terpisah baru (Unit Pembaruan Real-time), yang dikenai biaya per porsi 4 KiB. Pembaruan real-time memakan biaya $0,30 per satu juta unit baca.

Langkah berikutnya