Quels sont les avantages quantitatifs de l'utilisation de Firebase par rapport à MongoDB? (pas d'opinions)
Je sais que Firebase est un service basé sur le cloud avec sa propre API, mais j'ai l'impression que Mongo peut me donner un plus grand contrôle à long terme.
Réponses:
EDIT: voici un bel article sur la façon de remplacer Firebase dans votre application par Node.js + MongoDb. Il montre combien de travail vous auriez à faire par vous-même et explique, à mon humble avis, pourquoi une startup (petite application) devrait commencer avec Firebase (si des mises à jour en temps réel des clients sont nécessaires) et continuer avec MongoDb (en tout cas soi -solution écrite) si le projet continue d'évoluer
EDIT 2: après avoir été acquis par Google Firebase offre désormais divers avantages en plus de ses fonctionnalités de base que vous auriez du mal à construire vous-même:
Pour le developpement
Pour la croissance
la source
Pommes et oranges. Firebase est un backend-as-a-service contenant la gestion des identités, des vues de données en temps réel et une base de données de documents. Il fonctionne dans le cloud.
MongoDB, d'autre part, est une base de données à part entière avec un langage de requête riche. En principe, il fonctionne sur votre propre machine, mais il existe des fournisseurs de cloud.
Si vous recherchez le composant de base de données, seul MongoDB est beaucoup plus mature et riche en fonctionnalités.
la source
Firebase est conçu pour les mises à jour en temps réel. Il s'intègre facilement avec angular. Les deux sont des bases de données NoSQL. MongoDB peut également le faire avec l'intégration Angular via Socket.io. Meteor.js utilise également MongoDB avec une connexion socket ouverte pour les mises à jour en temps réel.
MongoDB peut être exécuté localement ou hébergé sur de nombreux fournisseurs cloud différents. Firebase, à mon avis, est idéal pour les petites applications, très rapide à démarrer. MongoDB est idéal pour les applications plus volumineuses plus robustes, l'intégration en temps réel est possible mais cela demande un peu plus de travail.
la source
Après avoir utilisé Firebase une quantité considérable, je suis venu pour trouver quelque chose.
Si vous avez l'intention de l'utiliser pour de grandes applications en temps réel, ce n'est pas le meilleur choix. Il a son propre large éventail de problèmes, y compris un mauvais système de gestion des erreurs et des limitations. Vous passerez beaucoup de temps à essayer de comprendre Firebase et ses problèmes. Il est également assez facile pour un projet de devenir une chose monolithique qui devient incontrôlable. MongoDB est un bien meilleur choix en ce qui concerne le backend d'une grande application.
Cependant, si vous avez besoin de créer une petite application ou de prototyper rapidement quelque chose, Firebase est un excellent choix. Ce sera un moyen incroyablement facile de démarrer.
la source
Je répondrai à cette question en termes d'AngularFire, la bibliothèque de Firebase pour Angular.
Tl; dr: superpuissances. :-)
Liaison de données à trois voies d'AngularFire. Angular lie la vue et le $ scope, c'est-à-dire que ce que vos utilisateurs font dans la vue se met à jour automatiquement dans les variables locales, et lorsque votre JavaScript met à jour une variable locale, la vue se met à jour automatiquement. Avec Firebase, la base de données cloud se met également à jour automatiquement. Vous n'avez pas besoin d'écrire des requêtes $ http.get ou $ http.put, les données se mettent simplement à jour.
Liaison de données à cinq voies, et sept voies, neuf voies, etc. J'ai créé un jeu de tic-tac-toe en utilisant AngularFire. Deux joueurs peuvent jouer ensemble, les deux vues mettant à jour les deux $ scopes et la base de données cloud. Vous pouvez créer un jeu avec trois joueurs ou plus, tous partageant une base de données Firebase.
La bibliothèque OAuth2 d'AngularFire facilite l'autorisation avec Facebook, GitHub, Google, Twitter, les jetons et les mots de passe.
Double sécurité. Vous pouvez configurer vos routes Angular pour exiger une autorisation et configurer des règles dans Firebase pour déterminer qui peut lire et écrire des données.
Il n'y a pas de back-end. Vous n'avez pas besoin de créer un serveur avec Node et Express. L'exécution de votre propre serveur peut demander beaucoup de travail, exiger des connaissances en matière de sécurité, exiger que quelqu'un fasse quelque chose si le serveur tombe en panne, etc.
Vite. Si votre serveur est à San Francisco et le client à San Jose, très bien. Mais pour un client à Bangalore, la connexion à votre serveur sera plus lente. Firebase est déployé dans le monde entier pour des connexions rapides partout.
la source
D'après mon expérience, travailler avec Firebase est un énorme avantage si vous essayez de gérer des utilisateurs, une base de données, une sorte d'application de messagerie, car toutes ces fonctionnalités sont déjà bien intégrées.
Comme d'autres l'ont dit, si vous vous concentrez uniquement sur l'aspect base de données / requête, tenez-vous-en à mongo.
la source
Firebase est une suite de fonctionnalités.
Je crois que vous essayez de comparer Firebase Realtime Database avec Mongo DB. Firebase Realtime Database stocke les données au format JSON et se synchronise avec toutes les mises à jour des données vers tous les clients qui écoutent les données. Il vous évite toute la complexité nécessaire pour configurer et mettre à l'échelle n'importe quelle base de données. Je ne recommanderai pas firebase où vous avez beaucoup de scénarios complexes où l'agrégation de données est nécessaire (requêtes qui nécessitent un genre de choses SUM / MOYENNE). Bien que cela soit récemment possible en utilisant les fonctions Firebase. La modélisation des données dans Firebase est délicate. Mais c'est la meilleure façon de vous lancer instantanément. MongoDB est une base de données. Cela vous donne de nombreuses fonctionnalités puissantes. Mais MongoDB lorsqu'il est installé sur n'importe quelle plate-forme, vous devez le gérer vous-même.
Quand j'essaye de choisir entre Firebase ou MongoDB (ou n'importe quel DB). J'essaye de répondre à ce qui suit.
la source
Firebase fournit de bonnes fonctionnalités telles que la réflexion des changements en temps réel, l'intégration facile du mécanisme d'authentification et de nombreuses autres fonctionnalités intégrées pour un développement Web rapide. Firebase, rend vraiment le développement Web si simple qu'il n'existe jamais. La base de données Firebase est un fork de MongoDB .
Vous pouvez profiter de toutes les fonctionnalités intégrées de Firebase sur MongoDB.
la source