O Firebase oferece dois bancos de dados de documentos baseados na nuvem e acessíveis ao cliente. Recomendamos que os novos clientes comecem com Cloud Firestore:
O Cloud Firestore é o banco de dados de documentos de nível empresarial compatível com JSON recomendado, que tem a confiança de mais de 250.000 desenvolvedores. Ele é adequado para aplicativos com modelos de dados avançados que exigem consulta, escalonabilidade e alta disponibilidade. Ele também oferece sincronização de cliente de baixa latência e acesso a dados off-line.
O Realtime Database é o banco de dados JSON clássico do Firebase. Ele é adequado para aplicativos com modelos de dados simples que exigem pesquisas simples e sincronização de baixa latência com escalonabilidade limitada.
Quais são os outros pontos importantes a considerar?
Depois de pensar nas principais considerações anteriores, talvez seja o momento de escolher um banco de dados. Se você ainda estiver avaliando as vantagens e desvantagens, esta seção aborda outras diferenças entre Cloud Firestore e Realtime Database.
Modelo de dados
O Realtime Database e o Cloud Firestore são bancos de dados NoSQL.
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Armazena dados como coleções de documentos.
Saiba mais sobre o modelo de dados do Cloud Firestore. |
Armazena dados como uma grande árvore JSON.
Saiba mais sobre o Modelo de dados do Realtime Database. |
Suporte em tempo real e off-line
Ambos possuem SDKs em tempo real com prioridade para dispositivos móveis e oferecem suporte ao armazenamento de dados locais para aplicativos off-line.
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Suporte off-line para clientes da Apple, Android e Web. | Suporte off-line para clientes da Apple e do Android. |
Presença
Pode ser útil saber quando um cliente está on-line ou off-line. O Firebase Realtime Database pode registrar o status da conexão do cliente e fornecer atualizações sempre que esse estado for alterado.
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Sem suporte nativo. É possível aproveitar o suporte do Realtime Database à presença sincronizando o Cloud Firestore e o Realtime Database usando o Cloud Functions. Consulte Criar presença no Cloud Firestore. | Presença compatível. |
Consulta
Recupere, classifique e filtre dados de qualquer um dos bancos de dados por meio de consultas.
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Consultas indexadas com
classificação e filtragem compostas.
|
Consultas avançadas com
recursos limitados de classificação e filtragem.
|
Gravações e transações
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Operações avançadas de gravação e transação.
|
Operações básicas de gravação e transação.
|
Confiabilidade e desempenho
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
O Cloud Firestore é uma
solução regional e multirregional
que é escalonada automaticamente.
|
O Realtime Database é uma
solução regional.
|
Tempo de atividade
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Desempenho de tempo de atividade extremamente alto.
|
Alto desempenho do tempo de atividade.
|
Escalonabilidade
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
O escalonamento é automático.
|
O escalonamento requer fragmentação.
|
Segurança
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
Regras que não são aplicadas em cascata e que combinam autorização e validação.
|
Linguagem de regras aplicadas em cascata que separa autorização e validação.
|
Preços
Ambas as soluções estão disponíveis nos planos de preços Spark e Blaze.
Cloud Firestore | [ RECOMENDÁVEL ] | Realtime Database |
---|---|---|
A cobrança é realizada principalmente por operações realizadas no seu banco de dados
(leitura, gravação, exclusão) e, a uma taxa menor, por largura de banda e armazenamento.
O Cloud Firestore tem suporte diário a limites de gastos para projetos do App Engine, para garantir que você não ultrapasse os gastos que programou. Leia mais sobre os planos de preços do Cloud Firestore. |
Apenas largura de banda e armazenamento são cobrados, porém a uma taxa
maior.
Leia mais sobre os planos de preços do Realtime Database. |
Como usar Cloud Firestore e Realtime Database
Você pode usar ambos os bancos de dados no mesmo app ou projeto do Firebase. Ambos os bancos de dados NoSQL podem armazenar os mesmos tipos de dados, e as bibliotecas de cliente funcionam de maneira semelhante. Considere as diferenças descritas anteriormente se você decidir usar ambos os bancos de dados no seu app.
Saiba mais sobre os recursos disponíveis no Realtime Database e no Cloud Firestore.
Tudo pronto para escolher um banco de dados?
Esperamos que essa comparação tenha ajudado na escolha de uma solução de banco de dados do Firebase. Agora você pode aprender a adicionar um banco de dados aos seus projetos do Firebase.
- Para Cloud Firestore, consulte Primeiros passos com o Cloud Firestore.
- No Realtime Database, leia o tópico "Começar" da sua plataforma: Apple, Android, C++, Unity, Web ou REST.