Apa beberapa keuntungan kuantitatif dari menggunakan Firebase dibandingkan MongoDB? (bukan pendapat)
Saya tahu bahwa Firebase adalah layanan berbasis cloud dengan APInya sendiri, tetapi saya merasa seperti Mongo dapat memberi saya kontrol yang lebih besar dalam jangka panjang.
Jawaban:
SUNTING: inilah artikel yang bagus bagaimana cara mengganti Firebase di aplikasi Anda dengan Node.js + MongoDb. Ini menunjukkan berapa banyak pekerjaan yang harus Anda lakukan sendiri, dan menjelaskan, IMHO, mengapa startup (aplikasi kecil) harus dimulai dengan Firebase (jika pembaruan real-time untuk klien diperlukan) dan dilanjutkan dengan MongoDb (dalam kasus apa pun sendiri - Solusi tertulis) jika proyek terus berkembang
EDIT 2: setelah diakuisisi oleh Google Firebase sekarang menawarkan berbagai fasilitas di atas fitur dasarnya yang Anda akan berjuang untuk membangun sendiri:
Untuk pengembangan
Untuk pertumbuhan
sumber
Apel dan jeruk. Firebase adalah Backend-as-a-Layanan yang berisi manajemen identitas, tampilan data waktu nyata, dan basis data dokumen. Ini berjalan di cloud.
MongoDB di sisi lain adalah database yang lengkap dengan bahasa query yang kaya. Pada prinsipnya ini berjalan pada mesin Anda sendiri, tetapi ada penyedia cloud.
Jika Anda mencari komponen database hanya MongoDB jauh lebih matang dan kaya fitur.
sumber
Firebase dirancang untuk pembaruan waktu-nyata. Mudah diintegrasikan dengan sudut. Keduanya adalah basis data NoSQL. MongoDB juga dapat melakukan ini dengan integrasi Angular melalui Socket.io. Meteor.js juga memanfaatkan MongoDB dengan koneksi soket terbuka untuk pembaruan waktu nyata.
MongoDB dapat dijalankan secara lokal, atau dihosting di banyak penyedia berbasis cloud. Firebase, menurut saya bagus untuk aplikasi yang lebih kecil, sangat cepat untuk bangun dan berjalan. MongoDB sangat ideal untuk aplikasi yang lebih besar dan lebih kuat, integrasi real-time dimungkinkan tetapi butuh sedikit lebih banyak pekerjaan.
sumber
Setelah menggunakan Firebase, saya cukup banyak menemukan sesuatu.
Jika Anda bermaksud menggunakannya untuk aplikasi besar dan real time, itu bukan pilihan terbaik. Ini memiliki berbagai macam masalah termasuk sistem penanganan kesalahan yang buruk dan keterbatasan. Anda akan menghabiskan banyak waktu untuk mencoba memahami Firebase dan ketegarannya. Juga sangat mudah bagi sebuah proyek untuk menjadi hal monolitik yang tidak terkendali. MongoDB adalah pilihan yang jauh lebih baik sejauh backend untuk aplikasi besar berjalan.
Namun, jika Anda perlu membuat aplikasi kecil atau membuat prototipe sesuatu dengan cepat, Firebase adalah pilihan yang bagus. Ini akan menjadi cara yang sangat mudah untuk mulai bekerja.
sumber
Saya akan menjawab pertanyaan ini dalam kaitannya dengan AngularFire, perpustakaan Firebase untuk Angular.
Tl; dr: kekuatan super. :-)
Pengikatan data tiga arah AngularFire. Angular mengikat tampilan dan lingkup $, yaitu, apa yang dilakukan pengguna Anda dalam tampilan secara otomatis memperbarui dalam variabel lokal, dan ketika JavaScript Anda memperbarui variabel lokal tampilan diperbarui secara otomatis. Dengan Firebase, basis data cloud juga memperbarui secara otomatis. Anda tidak perlu menulis permintaan $ http.get atau $ http.put, data hanya pembaruan.
Pengikatan data lima arah, dan tujuh arah, sembilan arah, dll. Saya membuat game tic-tac-toe menggunakan AngularFire. Dua pemain dapat bermain bersama, dengan dua tampilan memperbarui dua $ lingkup dan basis data cloud. Anda bisa membuat game dengan tiga pemain atau lebih, semuanya berbagi satu basis data Firebase.
Pustaka OAuth2 AngularFire memudahkan otorisasi dengan Facebook, GitHub, Google, Twitter, token, dan kata sandi.
Keamanan ganda. Anda bisa mengatur rute Angular Anda untuk meminta otorisasi, dan mengatur aturan di Firebase tentang siapa yang bisa membaca dan menulis data.
Tidak ada ujung belakang. Anda tidak perlu membuat server dengan Node dan Express. Menjalankan server Anda sendiri bisa jadi banyak pekerjaan, membutuhkan pengetahuan tentang keamanan, mengharuskan seseorang melakukan sesuatu jika server turun, dll.
Cepat. Jika server Anda di San Francisco dan klien di San Jose, baiklah. Tetapi untuk klien di Bangalore yang terhubung ke server Anda akan lebih lambat. Firebase dikerahkan di seluruh dunia untuk koneksi cepat di mana saja.
sumber
Dalam pengalaman saya, bekerja dengan Firebase adalah keuntungan besar jika Anda mencoba melakukan manajemen pengguna, basis data, aplikasi semacam perpesanan karena semua fitur ini sudah terintegrasi dengan baik.
Seperti yang dikatakan orang lain, jika Anda hanya fokus pada aspek database / kueri, tetaplah pada mongo.
sumber
Firebase adalah serangkaian fitur.
Saya yakin Anda mencoba membandingkan Firebase Realtime Database dengan Mongo DB. Firebase Realtime Database menyimpan data sebagai format JSON dan menyinkronkan ke semua pembaruan data untuk semua klien yang mendengarkan data. Ini mengabstraksi Anda dari semua kompleksitas yang diperlukan untuk mengatur dan skala basis data apa pun. Saya tidak akan merekomendasikan firebase di mana Anda memiliki banyak skenario kompleks di mana agregasi data diperlukan. (Pertanyaan yang membutuhkan jenis barang SUM / AVERAGE). Meskipun ini baru dapat dicapai dengan menggunakan fungsi Firebase. Memodelkan data di Firebase memang rumit. Tetapi ini adalah cara terbaik untuk membantu Anda memulai secara instan. MongoDB adalah database. Ini memberi Anda banyak fitur yang kuat. Tapi MongoDB ketika diinstal di platform apa pun yang Anda butuhkan untuk mengelolanya sendiri.
Ketika saya mencoba untuk memilih antara Firebase atau MongoDB (atau DB apa pun). Saya coba jawab yang berikut ini.
sumber
Firebase menyediakan beberapa fitur bagus seperti refleksi perubahan waktu nyata, integrasi mekanisme otentikasi yang mudah, dan banyak fitur bawaan lainnya untuk pengembangan web yang cepat. Firebase, benar-benar membuat pengembangan Web sangat sederhana yang tidak pernah ada. Basis data Firebase adalah fork dari MongoDB .
Anda dapat memanfaatkan semua fitur bawaan Firebase di atas MongoDB.
sumber