O Firebase oferece dois bancos de dados de documentos baseados em nuvem e acessíveis ao cliente. Recomendamos que novos clientes comecem com o 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 o Cloud Firestore e o Realtime Database.
Modelo de dados
Tanto o Realtime Database como o Cloud Firestore são bancos de dados NoSQL.
Cloud Firestore Preferido | 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 Preferido | 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 Preferido | Realtime Database |
---|---|
Sem suporte nativo. É possível aproveitar o suporte do Realtime Database à presença sincronizando o Cloud Firestore e o Realtime Database com 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 Preferido | 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 Preferido | 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 Preferido | Realtime Database |
---|---|
O Cloud Firestore é uma solução regional e multirregional com escalonamento
automático.
|
O Realtime Database é uma solução regional.
|
Tempo de atividade
Cloud Firestore Preferido | Realtime Database |
---|---|
Desempenho de tempo de atividade extremamente alto.
|
Alto desempenho do tempo de atividade.
|
Escalonabilidade
Cloud Firestore Preferido | Realtime Database |
---|---|
O escalonamento é automático.
|
O escalonamento requer fragmentação.
|
Segurança
Cloud Firestore Preferido | 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 Preferido | 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 oferece suporte a limites de gastos diários para os projetos do App Engine. Assim, você não ultrapassa os gastos que programou. Saiba 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 o Cloud Firestore e o 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 o Cloud Firestore, consulte Introdução ao Cloud Firestore.
- No caso do Realtime Database, leia o tópico de introdução para sua plataforma: Apple, Android, C++, Unity, Web ou REST.