¿Cuáles son algunas ventajas cuantitativas de usar Firebase sobre MongoDB? (no opiniones)
Sé que Firebase es un servicio basado en la nube con su propia API, pero creo que Mongo puede darme un mayor control a largo plazo.
¿Cuáles son algunas ventajas cuantitativas de usar Firebase sobre MongoDB? (no opiniones)
Sé que Firebase es un servicio basado en la nube con su propia API, pero creo que Mongo puede darme un mayor control a largo plazo.
Respuestas:
EDITAR: aquí hay un buen artículo sobre cómo reemplazar Firebase en su aplicación con Node.js + MongoDb. Muestra cuánto trabajo tendría que hacer por su cuenta y explica, en mi humilde opinión, por qué una startup (aplicación pequeña) debería comenzar con Firebase (si se requieren actualizaciones en tiempo real para los clientes) y continuar con MongoDb (en cualquier caso, self escrito) si el proyecto sigue evolucionando
EDIT 2: después de ser adquirido por Google Firebase, ahora ofrece varias ventajas además de sus características básicas que tendrá dificultades para desarrollar por su cuenta:
Para desarrollo
Para el crecimiento
Manzanas y naranjas. Firebase es un back-end como servicio que contiene administración de identidad, vistas de datos en tiempo real y una base de datos de documentos. Se ejecuta en la nube.
MongoDB, por otro lado, es una base de datos completa con un rico lenguaje de consulta. En principio, se ejecuta en su propia máquina, pero hay proveedores en la nube.
Si está buscando el componente de base de datos, MongoDB es mucho más maduro y rico en funciones.
Firebase está diseñado para actualizaciones en tiempo real. Se integra fácilmente con angular. Ambas son bases de datos NoSQL. MongoDB también puede hacer esto con Angular a través de la integración Socket.io. Meteor.js también utiliza MongoDB con una conexión de socket abierta para actualizaciones en tiempo real.
MongoDB puede ejecutarse localmente o alojarse en muchos proveedores diferentes basados en la nube. Firebase, en mi opinión, es ideal para aplicaciones más pequeñas, muy rápidas de poner en funcionamiento. MongoDB es ideal para aplicaciones más grandes y robustas, la integración en tiempo real es posible pero requiere un poco más de trabajo.
Después de usar Firebase una cantidad considerable, he venido a encontrar algo.
Si tiene la intención de usarlo para aplicaciones grandes en tiempo real, no es la mejor opción. Tiene su propia amplia gama de problemas, incluido un sistema de gestión de errores incorrectos y limitaciones. Pasará un tiempo considerable tratando de comprender Firebase y sus torceduras. También es bastante fácil para un proyecto convertirse en algo monolítico que se sale de control. MongoDB es una opción mucho mejor en cuanto a backend para una aplicación grande.
Sin embargo, si necesita crear una aplicación pequeña o crear un prototipo rápidamente, Firebase es una excelente opción. Será una manera increíblemente fácil de comenzar a ejecutar.
Contestaré esta pregunta en términos de AngularFire, la biblioteca de Firebase para Angular.
Tl; dr: superpoderes. :-)
Enlace de datos de tres vías de AngularFire. Angular vincula la vista y el alcance $, es decir, lo que hacen sus usuarios en la vista se actualiza automáticamente en las variables locales, y cuando su JavaScript actualiza una variable local, la vista se actualiza automáticamente. Con Firebase, la base de datos en la nube también se actualiza automáticamente. No necesita escribir solicitudes $ http.get o $ http.put, los datos solo se actualizan.
Enlace de datos de cinco vías, y siete, nueve, etc. Hice un juego de tres en raya usando AngularFire. Dos jugadores pueden jugar juntos, con las dos vistas actualizando los dos $ scopes y la base de datos en la nube. Puedes hacer un juego con tres o más jugadores, todos compartiendo una base de datos Firebase.
La biblioteca OAuth2 de AngularFire facilita la autorización con Facebook, GitHub, Google, Twitter, tokens y contraseñas.
Doble seguridad. Puede configurar sus rutas angulares para requerir autorización, y establecer reglas en Firebase sobre quién puede leer y escribir datos.
No hay back-end. No necesita crear un servidor con Node y Express. Ejecutar su propio servidor puede ser mucho trabajo, requerir conocer la seguridad, requerir que alguien haga algo si el servidor se cae, etc.
Rápido. Si su servidor está en San Francisco y el cliente está en San José, está bien. Pero para un cliente en Bangalore, conectarse a su servidor será más lento. Firebase se implementa en todo el mundo para conexiones rápidas en todas partes.
En mi experiencia, trabajar con Firebase es una gran ventaja si está tratando de hacer aplicaciones de administración de usuarios, bases de datos y mensajes, ya que todas estas características ya están bien integradas.
Como otros han dicho, si solo te enfocas en el aspecto de la base de datos / consulta, quédate con mongo.
Firebase es un conjunto de características.
Creo que estás tratando de comparar Firebase Realtime Database con Mongo DB. Firebase Realtime Database almacena datos en formato JSON y se sincroniza con todas las actualizaciones de los datos para todos los clientes que escuchan los datos. Lo abstrae de toda la complejidad necesaria para configurar y escalar cualquier base de datos. No recomendaré Firebase donde tenga muchos escenarios complejos donde se necesita la agregación de datos (consultas que necesitan cosas de SUM / AVERAGE). Aunque esto se puede lograr recientemente utilizando las funciones de Firebase. Modelar datos en Firebase es complicado. Pero es la mejor manera de comenzar de forma instantánea. MongoDB es una base de datos. Esto le brinda muchas funciones potentes. Pero MongoDB, cuando está instalado en cualquier plataforma, necesita administrarlo usted mismo.
Cuando trato de elegir entre Firebase o MongoDB (o cualquier DB). Intento responder lo siguiente.
Firebase proporciona algunas buenas características, como la reflexión de cambios en tiempo real, la fácil integración del mecanismo de autenticación y muchas otras funciones integradas para un rápido desarrollo web. Firebase realmente hace que el desarrollo web sea tan simple que nunca existe. La base de datos de Firebase es una bifurcación de MongoDB .
¿Cuál es la ventaja de usar Firebase sobre MongoDB?
Puedes aprovechar todas las características integradas de Firebase sobre MongoDB.