Google Cloud Datastore vs Firebase [fechado]

96

O Google fornece dois serviços de armazenamento de dados baseados em nuvem Google Cloud Datastore e Firebase (após sua aquisição). Embora cenários de uso típicos sejam fornecidos para permitir que um desenvolvedor faça a seleção entre vários serviços fornecidos pela plataforma em nuvem do Google, não há menção de como o Firebase se encaixa no cenário em seu desenvolvimento atual / futuro.

Alguém consegue imaginar alguma ideia sobre o assunto e fornecer casos de uso típicos para Google Cloud Datastore vs Firebase?

Chebyr
fonte
2
Também temos mais informações aqui: cloud.google.com/storage-options
Dan McGrath
O Firebase não é um serviço de armazenamento de dados por si só, pois abrange um conjunto de produtos, incluindo Cloud Firestore e Realtime Database para banco de dados e Cloud Storage para arquivos.
Andy Fusniak
@DanMcGrath Datastore não aparece em nenhum lugar do link que você compartilhou. Ou eu estou esquecendo de alguma coisa?
Ronnie Royston
@Ron, desde que foi postado, a versão atualizada do Datastore renomeada como Cloud Firestore é GA, então usamos apenas o novo nome.
Dan McGrath
@DanMcGrath à direita. ... o url cloud.google.com/datastore ainda anuncia o sistema obsoleto, então eu não tinha certeza de qual era o problema. Obrigado.
Ronnie Royston

Respostas:

61

Ambos os produtos têm seus pontos fortes e fracos. Aqui estão alguns motivos para usar um ou outro:

Use o Firebase se quiser:

  • Um banco de dados sem seu próprio back - end : os SDKs do Firebase permitem que você escreva aplicativos móveis e da web sem executar seu próprio back-end. Você pode ler e gravar no Firebase Database diretamente do seu aplicativo, sem a necessidade de código de servidor. O modelo de segurança do banco de dados permite controle de acesso refinado sem um servidor baseado em seus usuários.
  • Dados em tempo real : o Firebase permite que você ouça as alterações em seus dados, o que torna muito fácil escrever certos tipos de aplicativos. Um ótimo exemplo é o editor de texto colaborativo .
  • Um modelo de dados simples : o Firebase Database armazena JSON. Se você conhece JSON, conhece o modelo de dados do Firebase.
  • Para se beneficiar de outros recursos do Firebase : Por exemplo, o Firebase fornece gerenciamento e autenticação de usuários que funcionam muito bem com o banco de dados.

Use o Datastore se desejar:

Jonnydee
fonte
1
Ele acredita que a frase "Um banco de dados sem seu próprio back-end" se aplica a ambos os serviços. O Datastore faz parte do Google Cloud, você não está mantendo seus próprios servidores. Quanto à lógica de back-end, a maioria das bibliotecas de cliente do Datastore são baseadas em servidor, no entanto, é possível usar suas APIs REST para aplicativos móveis e baseados na web. Você pode ir tão longe a ponto de executar a biblioteca cliente Node.js através do browserify, convertendo-a em uma biblioteca baseada na web.
TheAddonDepot
1
@DimuDesigns firebase DB tem regras de segurança para proteger a atualização do usuário de interferir com seus dados. Por exemplo, exclua dados de outras pessoas. Isso significa banco de dados sem back-end, você não precisa de back-end para verificar a validade da entrada, embora não seja aceitável permitir que o cliente faça o mesmo com gdatastore
Thaina
@DimuDesigns ou jonnydee: O Datastore tem todos os recursos que o Firebase tem, mais os dois listados para Datastore? Ou pelo menos, responda, o Datastore também tem dados em tempo real da mesma forma que o Firebase?
Bryan Dimas
1
@BryanDimas Datastore não oferece suporte nativo a gatilhos de eventos em tempo real quando os dados são alterados. No entanto, existe um recurso chamado "Enfileiramento de tarefas transacionais". Não é em tempo real, mas é uma opção viável. Tem havido conversas sobre a implementação do recurso nativamente: issuetracker.google.com/issues/62959790
TheAddonDepot
1
@BryanDimas Aqui está um link para alguma documentação sobre " Enfileiramento de
TheAddonDepot
14

firebase poderia ser dito especificamente para plataforma móvel. A nuvem do Google era uma solução empresarial.

O Firebase desenvolveu seus sdks mantendo o Android, IOS, Web e Unity (mecanismo de jogo) em mente. Você não precisa do servidor web para interagir com seus componentes. Seus sdks são suficientes para fazer isso. Portanto, nenhum custo de servidor web ou servidores de aplicativos. Tem banco de dados em tempo real, você pode ouvir e é ridiculamente rápido.

Possui serviço de mensagens em nuvem, autenticação, funções Lambda e armazenamento em massa (como qualquer outra nuvem). Sua documentação é muito sucinta. Portanto, você não precisa passar por 1000 páginas para entender qualquer serviço de nuvem típico, como AWS ou Google Cloud. Levei um mês para integrar meu jogo com a AWS, mas levou apenas uma semana para integrar com o firebase.

sn.anurag
fonte
8

Atualização de outubro de 2017 (o Firebase lançou o Cloud Firestore):

Deve-se observar que, com o lançamento recente do Cloud Firestore (Beta em outubro de 2017), as vantagens do Datastore em relação ao "Firebase" que johnydee mencionou agora são obsoletas se você usar o produto Firestore, pois ele tem consultas poderosas e é altamente escalonável .

Esses produtos (Datastore e Firestore) compartilham raízes comuns e apenas um pode realmente ser usado no mesmo projeto.

A resposta de Johny ainda se aplica se você comparar o Firebase Realtime Database com o Datastore.

Kqtr
fonte
O firestore oferece suporte a índice flexível do tipo zigzag-merge-join, que está disponível no armazenamento de dados? Como descrito em cloud.google.com/appengine/articles/indexselection
user482594
7

A questão é tratada automaticamente na versão mais recente do Firebase lançado no Google IO 2016, no qual eles trouxeram integração em grande escala entre o Firebase e o Google Cloud Platform.

Consulte https://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.html

Todos os serviços do Google Cloud Platform agora são acessíveis de maneira muito mais simples por meio do Firebase. A maneira do Firebase de acessar o Realtime Database também foi estendida ao Google Cloud Storage. Muitas das APIs do cliente do Google Cloud, como Google Cloud Messaging, mudaram para a marca Firebase.

O Firebase é claramente o caminho pretendido pelo Google para o acesso do lado do cliente à infraestrutura de serviços do Google Cloud.

Chebyr
fonte
2
O Google Cloud Datastore é um banco de dados escalonável reforçado para batalhas, o Firebase é apenas para aplicativos de pequena escala (<10k conexões) e tem tempo de inatividade de migração de shard regular
Mark Essel