Quais são algumas vantagens quantitativas do uso do Firebase sobre o MongoDB? (não opiniões)
Sei que o Firebase é um serviço baseado em nuvem com sua própria API, mas sinto que o Mongo pode me dar maior controle a longo prazo.
Quais são algumas vantagens quantitativas do uso do Firebase sobre o MongoDB? (não opiniões)
Sei que o Firebase é um serviço baseado em nuvem com sua própria API, mas sinto que o Mongo pode me dar maior controle a longo prazo.
Respostas:
EDIT: aqui está um bom artigo como substituir o Firebase no seu aplicativo por Node.js + MongoDb. Ele mostra quanto trabalho você teria que fazer por conta própria e explica, IMHO, por que uma inicialização (aplicativo pequeno) deve começar com o Firebase (se são necessárias atualizações em tempo real para os clientes) e prosseguir com o MongoDb (em qualquer caso, auto solução escrita) se o projeto continuar evoluindo
EDIT 2: depois de ser adquirido pelo Google Firebase, agora oferece várias vantagens além de seus recursos básicos que você lutaria para construir por conta própria:
Para desenvolvimento
Para crescimento
Maçãs e laranjas. O Firebase é um back-end como serviço que contém gerenciamento de identidades, visualizações de dados em tempo real e um banco de dados de documentos. Ele roda na nuvem.
O MongoDB, por outro lado, é um banco de dados completo com uma rica linguagem de consulta. Em princípio, ele roda em sua própria máquina, mas existem provedores de nuvem.
Se você está procurando pelo componente de banco de dados, apenas o MongoDB é muito mais maduro e rico em recursos.
O Firebase foi projetado para atualizações em tempo real. Integra-se facilmente com angular. Ambos são bancos de dados NoSQL. O MongoDB também pode fazer isso com a Angular através da integração com o Socket.io. O Meteor.js também utiliza o MongoDB com uma conexão de soquete aberto para atualizações em tempo real.
O MongoDB pode ser executado localmente ou hospedado em diversos provedores baseados em nuvem. O Firebase, na minha opinião, é ótimo para aplicativos menores, muito rápidos para começar a funcionar. O MongoDB é ideal para aplicativos maiores e mais robustos, a integração em tempo real é possível, mas é preciso um pouco mais de trabalho.
Depois de usar o Firebase uma quantidade considerável, cheguei a encontrar algo.
Se você pretende usá-lo para aplicativos grandes e em tempo real, não é a melhor opção. Ele possui sua própria variedade de problemas, incluindo um mau sistema de tratamento de erros e limitações. Você passará um tempo significativo tentando entender o Firebase e suas dobras. Também é bastante fácil para um projeto se tornar uma coisa monolítica que sai de controle. O MongoDB é uma escolha muito melhor no que diz respeito ao back-end de um aplicativo grande.
No entanto, se você precisar criar um aplicativo pequeno ou criar protótipo rapidamente, o Firebase é uma ótima opção. Será uma maneira incrivelmente fácil de começar a correr.
Responderei a essa pergunta em termos da AngularFire, a biblioteca do Firebase para Angular.
Tl; dr: superpotências. :-)
Ligação de dados de três vias do AngularFire. Angular vincula a visualização e o escopo $, ou seja, o que seus usuários fazem na visualização são atualizados automaticamente nas variáveis locais e, quando o JavaScript atualiza uma variável local, a visualização é atualizada automaticamente. Com o Firebase, o banco de dados em nuvem também é atualizado automaticamente. Você não precisa escrever solicitações $ http.get ou $ http.put, os dados são atualizados.
Ligação de dados de cinco vias, e sete, nove vias, etc. Criei um jogo da velha com o AngularFire. Dois jogadores podem jogar juntos, com as duas visualizações atualizando os dois escopos $ e o banco de dados em nuvem. Você pode fazer um jogo com três ou mais jogadores, todos compartilhando um banco de dados Firebase.
A biblioteca OAuth2 do AngularFire facilita a autorização com o Facebook, GitHub, Google, Twitter, tokens e senhas.
Segurança dupla. Você pode configurar suas rotas angulares para exigir autorização e configurar regras no Firebase sobre quem pode ler e gravar dados.
Não há back-end. Você não precisa criar um servidor com Node e Express. A execução de seu próprio servidor pode dar muito trabalho, exigir conhecimento sobre segurança, exigir que alguém faça algo se o servidor ficar inativo etc.
Rápido. Se o seu servidor estiver em San Francisco e o cliente em San Jose, tudo bem. Mas para um cliente em Bangalore, a conexão com o servidor será mais lenta. O Firebase é implantado em todo o mundo para conexões rápidas em qualquer lugar.
Na minha experiência, trabalhar com o Firebase é uma enorme vantagem se você estiver tentando fazer um aplicativo de gerenciamento de usuários, banco de dados e sistema de mensagens, pois todos esses recursos já estão bem integrados.
Como outros já disseram, se você está focado apenas no aspecto de banco de dados / consulta, atenha-se ao mongo.
Firebase é um conjunto de recursos.
Acredito que você esteja tentando comparar o Firebase Realtime Database com o Mongo DB. O Firebase Realtime Database armazena dados no formato JSON e sincroniza com todas as atualizações dos dados para todos os clientes que os ouvem. Ele abstrai toda a complexidade necessária para configurar e dimensionar qualquer banco de dados. Não recomendo o firebase onde você tem muitos cenários complexos em que a agregação de dados é necessária (consultas que precisam do tipo de soma / média). Embora isso seja possível recentemente usando as funções do Firebase. A modelagem de dados no Firebase é complicada. Mas é a melhor maneira de começar instantaneamente. MongoDB é um banco de dados. Isso oferece muitos recursos poderosos. Mas o MongoDB, quando instalado em qualquer plataforma, precisa ser gerenciado por você.
Quando tento escolher entre Firebase ou MongoDB (ou qualquer DB). Eu tento responder o seguinte.
O Firebase fornece alguns bons recursos, como reflexão de alterações em tempo real, fácil integração do mecanismo de autenticação e muitos outros recursos internos para o rápido desenvolvimento da Web. Firebase, realmente torna o desenvolvimento da Web tão simples que nunca existe. O banco de dados Firebase é um fork do MongoDB .
Qual é a vantagem de usar o Firebase sobre o MongoDB?
Você pode tirar proveito de todos os recursos internos do Firebase sobre MongoDB.