O Firebase oferece duas soluções de banco de dados acessíveis ao cliente baseadas em nuvem que oferecem suporte à sincronização de dados em tempo real:
O Cloud Firestore é o mais novo banco de dados do Firebase para desenvolvimento de aplicativos móveis. Ele se baseia nos sucessos do Realtime Database com um modelo de dados novo e mais intuitivo. O Cloud Firestore também apresenta consultas mais ricas e rápidas e escalas além do Realtime Database.
O Realtime Database é o banco de dados original do Firebase. É uma solução eficiente e de baixa latência para aplicativos móveis que exigem estados sincronizados entre clientes em tempo real.
Qual banco de dados o Firebase recomenda?
Sua escolha de solução de banco de dados dependerá de muitos fatores, mas quando se trata de determinados recursos, podemos fazer recomendações sobre qual banco de dados é ideal para você.
Ambas as soluções oferecem:
- SDKs voltados para o cliente, sem servidores para implantar e manter
- Atualizações em tempo real
- Nível gratuito e depois pague pelo que usar
Consideracoes chave
Além dos excelentes recursos principais comuns a ambos os bancos de dados, pense em como algumas ou todas as considerações listadas abaixo afetarão o sucesso de seus aplicativos.
Função do banco de dados | Meu aplicativo usa um banco de dados para... Principalmente sincronizando dados, com consultas básicas. Se você não precisa de consultas, classificações e transações avançadas, recomendamos o Realtime Database . Consultas, classificações e transações avançadas. Se você precisar de interações complexas com seus dados, por exemplo, em aplicativos de comércio eletrônico, recomendamos o Cloud Firestore . |
Operações em dados | O uso do banco de dados do meu aplicativo se parece com... Alguns GBs ou menos de dados que mudam com frequência. Se seu aplicativo enviará um fluxo de pequenas atualizações, como em um aplicativo de quadro branco digital, recomendamos o Realtime Database . Centenas de GBs a TBs de dados que são lidos com muito mais frequência do que alterados. Para conjuntos de dados muito grandes e quando as operações em lote são necessárias com frequência, recomendamos o Cloud Firestore . |
Modelo de dados | Prefiro estruturar meus dados como... Uma árvore JSON simples. Para dados não estruturados JSON, recomendamos o Realtime Database . Documentos organizados em coleções. Para documentos e coleções estruturadas, recomendamos o Cloud Firestore . |
Disponibilidade | Minhas necessidades de disponibilidade são... Garantia de uptime extremamente alta de 99,999%. Se a disponibilidade for de extrema importância, por exemplo, em aplicativos de comércio eletrônico, recomendamos o Cloud Firestore . Uma garantia de pelo menos 99,95% de tempo de atividade. Quando uma disponibilidade muito alta, mas não crítica, é aceitável, recomendamos Cloud Firestore ou Realtime Database . |
Consultas offline em dados locais | Meu aplicativo precisará realizar consultas em dispositivos com conectividade limitada ou sem conectividade... Freqüentemente. Para recursos sofisticados de consulta de dados locais quando o usuário está off-line, recomendamos o Cloud Firestore . Raramente ou nunca. Se você espera que seus usuários estejam consistentemente online, recomendamos Cloud Firestore ou Realtime Database . |
Número de instâncias de banco de dados | Em meus projetos individuais, preciso usar... Muitos bancos de dados, por exemplo, um banco de dados para cada cliente principal. Como permite adicionar vários bancos de dados a um único projeto do Firebase, recomendamos o Realtime Database . Apenas um único banco de dados. Se você precisar de um único banco de dados, recomendamos Cloud Firestore ou Realtime Database . |
Quais são algumas outras coisas importantes a considerar?
Depois de pensar nas principais considerações anteriores, você pode estar pronto para escolher um banco de dados . Se você ainda está avaliando os prós e os contras, esta seção aborda outras diferenças entre o Cloud Firestore e o Realtime Database.
Modelo de dados
Tanto o Realtime Database quanto o Cloud Firestore são bancos de dados NoSQL.
banco de dados em tempo real | Cloud Firestore |
---|---|
Armazena dados como uma grande árvore JSON.
Saiba mais sobre o modelo de dados do Realtime Database . | Armazena dados como coleções de documentos.
Saiba mais sobre o modelo de dados do Cloud Firestore . |
Suporte em tempo real e offline
Ambos têm SDKs em tempo real para dispositivos móveis e oferecem suporte ao armazenamento de dados local para aplicativos prontos para uso off-line.
banco de dados em tempo real | Cloud Firestore |
---|---|
Suporte offline para clientes Apple e Android. | Suporte offline para Apple, Android e clientes da web. |
Presença
Pode ser útil saber quando um cliente está online ou offline. O Firebase Realtime Database pode registrar o status da conexão do cliente e fornecer atualizações sempre que o estado da conexão do cliente mudar.
banco de dados em tempo real | Cloud Firestore |
---|---|
Presença suportada. | Não suportado nativamente. Você pode aproveitar o suporte do Realtime Database para presença sincronizando o Cloud Firestore e o Realtime Database usando o Cloud Functions. Consulte Criar presença no Cloud Firestore . |
Consultando
Recupere, classifique e filtre dados de qualquer banco de dados por meio de consultas.
banco de dados em tempo real | Cloud Firestore |
---|---|
Consultas profundas com classificação limitada e funcionalidade de filtragem .
| Consultas indexadas com classificação e filtragem compostas.
|
Gravações e transações
banco de dados em tempo real | Cloud Firestore |
---|---|
Operações básicas de gravação e transação.
| Operações avançadas de gravação e transação.
|
Confiabilidade e desempenho
banco de dados em tempo real | Cloud Firestore |
---|---|
O Realtime Database é uma solução regional.
| Cloud Firestore é uma solução regional e multirregional que escala automaticamente.
|
Escalabilidade
banco de dados em tempo real | Cloud Firestore |
---|---|
O escalonamento requer sharding.
| O escalonamento é automático.
|
Segurança
banco de dados em tempo real | Cloud Firestore |
---|---|
Linguagem de regras em cascata que separa autorização e validação.
| Regras sem cascata que combinam autorização e validação.
|
Preços
Ambas as soluções estão disponíveis nos planos de preços Spark e Blaze .
banco de dados em tempo real | Cloud Firestore |
---|---|
Cobra apenas pela largura de banda e armazenamento , mas a uma taxa mais alta. Leia mais sobre os planos de preços do Realtime Database . | Cobra principalmente sobre as operações realizadas em seu banco de dados (leitura, gravação, exclusão) e, em uma taxa menor, largura de banda e armazenamento. O Cloud Firestore oferece suporte a limites de gastos diários para projetos do App Engine, para garantir que você não exceda os custos com os quais se sente confortável. Leia mais sobre os planos de preços do Cloud Firestore . |
Usando o Cloud Firestore e o Realtime Database
Você pode usar os dois bancos de dados no mesmo aplicativo ou projeto do Firebase. Ambos os bancos de dados NoSQL podem armazenar os mesmos tipos de dados e as bibliotecas cliente funcionam de maneira semelhante. Lembre-se das diferenças descritas acima se decidir usar os dois bancos de dados em seu aplicativo .
Saiba mais sobre os recursos disponíveis no Realtime Database e no Cloud Firestore .
Pronto para escolher um banco de dados?
Esperamos que esta comparação tenha ajudado você a escolher uma solução de banco de dados Firebase. Agora você pode aprender como adicionar um banco de dados aos seus projetos do Firebase.
- Para Cloud Firestore , dê uma olhada em Introdução ao Cloud Firestore .
- Para Realtime Database , leia o tópico Get Started para sua plataforma: Apple , Android , C++ , Unity , Web ou REST .
O Firebase oferece duas soluções de banco de dados acessíveis ao cliente baseadas em nuvem que oferecem suporte à sincronização de dados em tempo real:
O Cloud Firestore é o mais novo banco de dados do Firebase para desenvolvimento de aplicativos móveis. Ele se baseia nos sucessos do Realtime Database com um modelo de dados novo e mais intuitivo. O Cloud Firestore também apresenta consultas mais ricas e rápidas e escalas além do Realtime Database.
O Realtime Database é o banco de dados original do Firebase. É uma solução eficiente e de baixa latência para aplicativos móveis que exigem estados sincronizados entre clientes em tempo real.
Qual banco de dados o Firebase recomenda?
Sua escolha de solução de banco de dados dependerá de muitos fatores, mas quando se trata de determinados recursos, podemos fazer recomendações sobre qual banco de dados é ideal para você.
Ambas as soluções oferecem:
- SDKs voltados para o cliente, sem servidores para implantar e manter
- Atualizações em tempo real
- Nível gratuito e depois pague pelo que usar
Consideracoes chave
Além dos excelentes recursos principais comuns a ambos os bancos de dados, pense em como algumas ou todas as considerações listadas abaixo afetarão o sucesso de seus aplicativos.
Função do banco de dados | Meu aplicativo usa um banco de dados para... Principalmente sincronizando dados, com consultas básicas. Se você não precisa de consultas, classificações e transações avançadas, recomendamos o Realtime Database . Consultas, classificações e transações avançadas. Se você precisar de interações complexas com seus dados, por exemplo, em aplicativos de comércio eletrônico, recomendamos o Cloud Firestore . |
Operações em dados | O uso do banco de dados do meu aplicativo se parece com... Alguns GBs ou menos de dados que mudam com frequência. Se seu aplicativo enviará um fluxo de pequenas atualizações, como em um aplicativo de quadro branco digital, recomendamos o Realtime Database . Centenas de GBs a TBs de dados que são lidos com muito mais frequência do que alterados. Para conjuntos de dados muito grandes e quando as operações em lote são necessárias com frequência, recomendamos o Cloud Firestore . |
Modelo de dados | Prefiro estruturar meus dados como... Uma árvore JSON simples. Para dados não estruturados JSON, recomendamos o Realtime Database . Documentos organizados em coleções. Para documentos e coleções estruturadas, recomendamos o Cloud Firestore . |
Disponibilidade | Minhas necessidades de disponibilidade são... Garantia de uptime extremamente alta de 99,999%. Se a disponibilidade for de extrema importância, por exemplo, em aplicativos de comércio eletrônico, recomendamos o Cloud Firestore . Uma garantia de pelo menos 99,95% de tempo de atividade. Quando uma disponibilidade muito alta, mas não crítica, é aceitável, recomendamos Cloud Firestore ou Realtime Database . |
Consultas offline em dados locais | Meu aplicativo precisará realizar consultas em dispositivos com conectividade limitada ou sem conectividade... Freqüentemente. Para recursos sofisticados de consulta de dados locais quando o usuário está off-line, recomendamos o Cloud Firestore . Raramente ou nunca. Se você espera que seus usuários estejam consistentemente online, recomendamos Cloud Firestore ou Realtime Database . |
Número de instâncias de banco de dados | Em meus projetos individuais, preciso usar... Muitos bancos de dados, por exemplo, um banco de dados para cada cliente principal. Como permite adicionar vários bancos de dados a um único projeto do Firebase, recomendamos o Realtime Database . Apenas um único banco de dados. Se você precisar de um único banco de dados, recomendamos Cloud Firestore ou Realtime Database . |
Quais são algumas outras coisas importantes a considerar?
Depois de pensar nas principais considerações anteriores, você pode estar pronto para escolher um banco de dados . Se você ainda está avaliando os prós e os contras, esta seção aborda outras diferenças entre o Cloud Firestore e o Realtime Database.
Modelo de dados
Tanto o Realtime Database quanto o Cloud Firestore são bancos de dados NoSQL.
banco de dados em tempo real | Cloud Firestore |
---|---|
Armazena dados como uma grande árvore JSON.
Saiba mais sobre o modelo de dados do Realtime Database . | Armazena dados como coleções de documentos.
Saiba mais sobre o modelo de dados do Cloud Firestore . |
Suporte em tempo real e offline
Ambos têm SDKs em tempo real para dispositivos móveis e oferecem suporte ao armazenamento de dados local para aplicativos prontos para uso off-line.
banco de dados em tempo real | Cloud Firestore |
---|---|
Suporte offline para clientes Apple e Android. | Suporte offline para Apple, Android e clientes da web. |
Presença
Pode ser útil saber quando um cliente está online ou offline. O Firebase Realtime Database pode registrar o status da conexão do cliente e fornecer atualizações sempre que o estado da conexão do cliente mudar.
banco de dados em tempo real | Cloud Firestore |
---|---|
Presença suportada. | Não suportado nativamente. Você pode aproveitar o suporte do Realtime Database para presença sincronizando o Cloud Firestore e o Realtime Database usando o Cloud Functions. Consulte Criar presença no Cloud Firestore . |
Consultando
Recupere, classifique e filtre dados de qualquer banco de dados por meio de consultas.
banco de dados em tempo real | Cloud Firestore |
---|---|
Consultas profundas com classificação limitada e funcionalidade de filtragem .
| Consultas indexadas com classificação e filtragem compostas.
|
Gravações e transações
banco de dados em tempo real | Cloud Firestore |
---|---|
Operações básicas de gravação e transação.
| Operações avançadas de gravação e transação.
|
Confiabilidade e desempenho
banco de dados em tempo real | Cloud Firestore |
---|---|
O Realtime Database é uma solução regional.
| Cloud Firestore é uma solução regional e multirregional que escala automaticamente.
|
Escalabilidade
banco de dados em tempo real | Cloud Firestore |
---|---|
O escalonamento requer sharding.
| O escalonamento é automático.
|
Segurança
banco de dados em tempo real | Cloud Firestore |
---|---|
Linguagem de regras em cascata que separa autorização e validação.
| Regras sem cascata que combinam autorização e validação.
|
Preços
Ambas as soluções estão disponíveis nos planos de preços Spark e Blaze .
banco de dados em tempo real | Cloud Firestore |
---|---|
Cobra apenas pela largura de banda e armazenamento , mas a uma taxa mais alta. Leia mais sobre os planos de preços do Realtime Database . | Cobra principalmente sobre as operações realizadas em seu banco de dados (leitura, gravação, exclusão) e, em uma taxa menor, largura de banda e armazenamento. O Cloud Firestore oferece suporte a limites de gastos diários para projetos do App Engine, para garantir que você não exceda os custos com os quais se sente confortável. Leia mais sobre os planos de preços do Cloud Firestore . |
Usando o Cloud Firestore e o Realtime Database
Você pode usar os dois bancos de dados no mesmo aplicativo ou projeto do Firebase. Ambos os bancos de dados NoSQL podem armazenar os mesmos tipos de dados e as bibliotecas cliente funcionam de maneira semelhante. Lembre-se das diferenças descritas acima se decidir usar os dois bancos de dados em seu aplicativo .
Saiba mais sobre os recursos disponíveis no Realtime Database e no Cloud Firestore .
Pronto para escolher um banco de dados?
Esperamos que esta comparação tenha ajudado você a escolher uma solução de banco de dados Firebase. Agora você pode aprender como adicionar um banco de dados aos seus projetos do Firebase.
- Para Cloud Firestore , dê uma olhada em Introdução ao Cloud Firestore .
- Para Realtime Database , leia o tópico Get Started para sua plataforma: Apple , Android , C++ , Unity , Web ou REST .