Firebase menawarkan dua solusi database berbasis cloud yang dapat diakses klien yang mendukung sinkronisasi data waktu nyata:
Cloud Firestore adalah database terbaru Firebase untuk pengembangan aplikasi seluler. Itu dibangun di atas kesuksesan Realtime Database dengan model data baru yang lebih intuitif. Cloud Firestore juga menampilkan kueri dan penskalaan yang lebih kaya dan lebih cepat daripada Realtime Database.
Realtime Database adalah database asli Firebase. Ini adalah solusi latensi rendah yang efisien untuk aplikasi seluler yang memerlukan status tersinkronisasi di seluruh klien secara waktu nyata.
Basis data mana yang direkomendasikan oleh Firebase?
Pilihan solusi basis data Anda akan bergantung pada banyak faktor, tetapi jika berkaitan dengan fitur tertentu, kami dapat membuat rekomendasi tentang basis data mana yang tepat untuk Anda.
Kedua solusi menawarkan:
- SDK yang mengutamakan klien, tanpa server untuk diterapkan dan dipelihara
- Pembaruan waktu nyata
- Tingkat gratis, lalu bayar untuk apa yang Anda gunakan
Pertimbangan utama
Di luar fitur inti hebat yang umum untuk kedua database, pikirkan tentang bagaimana salah satu atau semua pertimbangan yang tercantum di bawah ini akan memengaruhi keberhasilan aplikasi Anda.
Peran basis data | Aplikasi saya menggunakan database untuk... Terutama menyinkronkan data, dengan kueri dasar. Jika Anda tidak memerlukan kueri, pengurutan, dan transaksi lanjutan, kami merekomendasikan Realtime Database . Permintaan lanjutan, penyortiran, dan transaksi. Jika Anda memerlukan interaksi yang kompleks dengan data Anda, misalnya di aplikasi e-niaga, kami merekomendasikan Cloud Firestore . |
Operasi pada data | Penggunaan database aplikasi saya terlihat seperti... Beberapa GB atau kurang dari data yang sering berubah. Jika aplikasi Anda akan mengirimkan aliran pembaruan kecil, seperti di aplikasi papan tulis digital, kami merekomendasikan Realtime Database . Ratusan GB hingga TB data yang dibaca lebih sering daripada diubah. Untuk set data yang sangat besar, dan saat operasi batch sering dibutuhkan, kami merekomendasikan Cloud Firestore . |
Model data | Saya lebih suka menyusun data saya sebagai... Pohon JSON sederhana. Untuk data tidak terstruktur JSON, kami merekomendasikan Realtime Database . Dokumen disusun menjadi koleksi. Untuk dokumen dan koleksi terstruktur, kami merekomendasikan Cloud Firestore . |
Ketersediaan | Kebutuhan ketersediaan saya adalah... Jaminan uptime yang sangat tinggi sebesar 99,999%. Jika ketersediaan merupakan hal yang paling penting, misalnya di aplikasi e-niaga, kami merekomendasikan Cloud Firestore . Jaminan waktu aktif setidaknya 99,95%. Jika ketersediaan sangat tinggi tetapi tidak kritis dapat diterima, kami merekomendasikan Cloud Firestore atau Realtime Database . |
Kueri offline pada data lokal | Aplikasi saya perlu melakukan kueri pada perangkat dengan konektivitas terbatas atau tanpa konektivitas... Sering. Untuk kemampuan kueri canggih pada data lokal saat pengguna offline, kami merekomendasikan Cloud Firestore . Jarang atau tidak pernah. Jika Anda mengharapkan pengguna Anda untuk online secara konsisten, kami merekomendasikan Cloud Firestore atau Realtime Database . |
Jumlah instance database | Dalam proyek pribadi saya, saya perlu menggunakan... Banyak database, misalnya database untuk setiap pelanggan utama. Karena memungkinkan Anda menambahkan banyak database ke satu proyek Firebase, kami merekomendasikan Realtime Database . Hanya satu basis data. Jika Anda memerlukan satu database, kami merekomendasikan Cloud Firestore atau Realtime Database . |
Apa saja hal penting lainnya yang perlu dipertimbangkan?
Setelah memikirkan pertimbangan utama sebelumnya, Anda mungkin siap untuk memilih database . Jika Anda masih mempertimbangkan pro dan kontra, bagian ini membahas perbedaan lain antara Cloud Firestore dan Realtime Database.
Model data
Baik Realtime Database dan Cloud Firestore adalah Database NoSQL.
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Menyimpan data sebagai satu pohon JSON besar.
Pelajari lebih lanjut model data Realtime Database . | Menyimpan data sebagai kumpulan dokumen.
Pelajari model data Cloud Firestore lebih lanjut . |
Dukungan waktu nyata dan offline
Keduanya memiliki SDK waktu nyata yang mengutamakan seluler, dan keduanya mendukung penyimpanan data lokal untuk aplikasi yang siap offline.
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Dukungan offline untuk klien Apple dan Android. | Dukungan offline untuk klien Apple, Android, dan web. |
Kehadiran
Akan bermanfaat untuk mengetahui kapan klien sedang online atau offline. Firebase Realtime Database dapat merekam status koneksi klien dan memberikan pembaruan setiap kali status koneksi klien berubah.
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Kehadiran didukung. | Tidak didukung secara native. Anda dapat memanfaatkan dukungan Realtime Database untuk kehadiran dengan menyinkronkan Cloud Firestore dan Realtime Database menggunakan Cloud Functions. Lihat Bangun kehadiran di Cloud Firestore . |
Meminta
Ambil, urutkan, dan filter data dari salah satu database melalui kueri.
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Kueri mendalam dengan fungsi penyortiran dan pemfilteran terbatas .
| Kueri yang diindeks dengan penyortiran dan pemfilteran gabungan .
|
Menulis dan transaksi
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Operasi tulis dan transaksi dasar.
| Operasi tulis dan transaksi tingkat lanjut.
|
Keandalan dan kinerja
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Realtime Database adalah solusi regional.
| Cloud Firestore adalah solusi regional dan multi-region yang menskalakan secara otomatis.
|
Skalabilitas
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Penskalaan membutuhkan sharding.
| Penskalaan otomatis.
|
Keamanan
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Bahasa aturan cascading yang memisahkan otorisasi dan validasi.
| Aturan non-cascading yang menggabungkan otorisasi dan validasi.
|
Harga
Kedua solusi tersebut tersedia pada paket harga Spark dan Blaze .
Basis Data Waktu Nyata | Toko Api Awan |
---|---|
Biaya hanya untuk bandwidth dan penyimpanan , tetapi dengan tarif yang lebih tinggi. Baca selengkapnya tentang paket harga Realtime Database . | Dibebankan terutama pada operasi yang dilakukan di database Anda (baca, tulis, hapus) dan, dengan tarif lebih rendah, bandwidth dan penyimpanan. Cloud Firestore mendukung batas pengeluaran harian untuk proyek App Engine, untuk memastikan Anda tidak melebihi biaya yang Anda rasa nyaman. Baca selengkapnya tentang paket harga Cloud Firestore . |
Menggunakan Cloud Firestore dan Realtime Database
Anda dapat menggunakan kedua database dalam aplikasi atau proyek Firebase yang sama. Kedua database NoSQL dapat menyimpan jenis data yang sama dan pustaka klien bekerja dengan cara yang sama. Perhatikan perbedaan yang diuraikan di atas jika Anda memutuskan untuk menggunakan kedua database di aplikasi Anda .
Pelajari lebih lanjut fitur yang tersedia di Realtime Database dan Cloud Firestore .
Siap memilih database?
Semoga perbandingan ini membantu Anda memilih solusi database Firebase. Sekarang Anda dapat mempelajari cara menambahkan database ke proyek Firebase Anda.
- Untuk Cloud Firestore , lihat Memulai dengan Cloud Firestore .
- Untuk Realtime Database , baca topik Memulai untuk platform Anda: Apple , Android , C++ , Unity , Web , atau REST .