Como escolher entre o modo nativo e o modo Datastore

Quando você cria um novo banco de dados do Cloud Firestore, pode configurar a instância do banco de dados para ser executada no modo Datastore, o que torna o banco de dados compatível com versões anteriores do Cloud Datastore. Nesta página, você aprende a diferença entre os dois modos de banco de dados do Cloud Firestore: modo nativo e modo Datastore.

Cloud Firestore no modo nativo

O Cloud Firestore é a próxima versão principal do Cloud Datastore, com uma reformulação da identidade do produto. Com o melhor do Cloud Datastore e do Firebase Realtime Database, o Cloud Firestore é um banco de dados de documentos NoSQL criado para dimensionamento automático, alto desempenho e facilidade de desenvolvimento de aplicativos.

O Cloud Firestore apresenta novos recursos, como:

  • uma nova camada de armazenamento altamente consistente;
  • um modelo de dados de coleta e documento;
  • atualizações em tempo real
  • bibliotecas de cliente móveis e da Web.

O Cloud Firestore é compatível com versões anteriores do Cloud Datastore. O mesmo não ocorre com o novo modelo de dados, as atualizações em tempo real e os recursos da biblioteca de cliente móvel e da Web. Para acessar todos os novos recursos do Cloud Firestore, use o Cloud Firestore no modo nativo.

Cloud Firestore no modo Datastore

O Cloud Firestore no modo Datastore usa o comportamento do sistema do Cloud Datastore, mas mantém a camada de armazenamento do Cloud Firestore, removendo as seguintes limitações do Cloud Datastore:

  • Com consistência eventual, todas as consultas do Cloud Datastore se tornam consistentes.
  • As transações não estão mais limitadas a 25 grupos de entidades.
  • As gravações em um grupo de entidades não estão mais limitadas a uma por segundo.

O modo Datastore desativa os recursos do Cloud Firestore incompatíveis com o Cloud Datastore:

  • O projeto aceitará solicitações da API do Cloud Datastore e negará as da API do Cloud Firestore.
  • O projeto usará índices do Cloud Datastore, não os do Cloud Firestore.
  • É possível usar com este projeto as bibliotecas de cliente do Cloud Datastore, mas não as do Cloud Firestore.
  • Os recursos em tempo real do Cloud Firestore não estarão disponíveis.
  • No Console do GCP, o banco de dados usará o visualizador do Cloud Datastore.

Atualização automática para o modo Datastore

Os bancos de dados atuais do Cloud Datastore serão atualizados automaticamente para o Cloud Firestore no modo Datastore. Projetos novos que requeiram um banco de dados do Cloud Datastore precisam usar o Cloud Firestore no modo Datastore.

Preços e locais

Os bancos de dados do modo nativo e do modo Datastore usam a mesma estrutura de preços e estão disponíveis nos mesmos locais. Os preços e os locais estão descritos em detalhes nestas páginas:

Cloud Firestore no modo nativo

Cloud Firestore no modo Datastore

Como escolher um modo de banco de dados

Ao escolher entre os modos de banco de dados, é recomendável:

  • Usar o Cloud Firestore no modo Datastore para novos projetos de servidor.

    Com o Cloud Firestore no modo Datastore, você usa as arquiteturas de servidores estabelecidas do Cloud Datastore enquanto remove as limitações fundamentais do Cloud Datastore. O modo Datastore pode ser escalonado automaticamente para milhões de gravações por segundo.

  • Usar o Cloud Firestore no modo nativo para novos aplicativos móveis e da Web.

    O Cloud Firestore oferece bibliotecas móveis e clientes da Web com recursos em tempo real e off-line. O modo nativo pode ser escalonado automaticamente para milhões de clientes simultâneos.

Comparação do recurso

A tabela a seguir compara o comportamento do sistema nos dois modos de banco de dados:

Cloud Firestore
Modo Nativo
Cloud Firestore
Modo Datastore
Modelo de dados Banco de dados de documentos organizado em documentos e coleções. Entidades organizadas em tipos e grupos de entidades.
Camada de Armazenamento Nova camada de armazenamento sempre de consistência forte Nova camada de armazenamento sempre de consistência forte
Consultas e transações
  • Consultas de consistência forte em todo o banco de dados
  • Até 500 documentos por transação em qualquer número de coleções.
  • Limitação: não faz consultas de projeção.
  • Remove as limitações anteriores de consistência do Cloud Datastore
  • Consultas de consistência forte em todo o banco de dados
  • As transações têm acesso a qualquer número de grupos de entidades
Compatibilidade com a API do Cloud Datastore v1 Não, as solicitações são negadas Sim
Compatibilidade com a API do Cloud Firestore v1 Sim Não, as solicitações são negadas
Atualizações em tempo real

Compatível com a capacidade de ouvir um documento ou um conjunto de documentos para atualizações em tempo real.

Ao ouvir um documento ou conjunto de documentos, seus clientes são notificados sobre quaisquer alterações de dados e recebem o conjunto de dados mais recente.

Incompatível
Persistência de dados off-line As bibliotecas móveis e de cliente da Web são compatíveis com a permanência de dados offline. Incompatível
Bibliotecas de cliente Bibliotecas de cliente do Cloud Firestore:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
  • Android
  • iOS
  • Web
Bibliotecas de cliente do Cloud Datastore:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
Security
  • O Cloud Identity and Access Management (IAM) gerencia o acesso ao banco de dados
  • As regras de segurança do Cloud Firestore são compatíveis com autenticação e autorização sem servidor para as bibliotecas de cliente móveis e da Web
O Cloud Identity and Access Management (IAM) gerencia o acesso ao banco de dados
Desempenho Escalona automaticamente para milhões de clientes simultâneos. Máximo de 10.000 gravações por segundo. Escalona automaticamente para milhões de gravações por segundo.
SLA SLA do Cloud Firestore. SLA do Cloud Firestore.
Locais
  • EUA (multirregional)
  • Europa (multirregional)
  • Montreal
  • Los Angeles
  • Carolina do Sul
  • Virgínia do Norte
  • São Paulo
  • Londres
  • Frankfurt
  • Tóquio
  • Mumbai
  • Sydney
  • EUA (multirregional)
  • Europa (multirregional)
  • Montreal
  • Los Angeles
  • Carolina do Sul
  • Virgínia do Norte
  • São Paulo
  • Londres
  • Frankfurt
  • Tóquio
  • Mumbai
  • Sydney
Preço Mesma estrutura de preços
Console Console do Firebase e visualizador do Firestore no Console do GCP Visualizador do Datastore no Console do GCP
Namespaces Incompatível Namespaces compatíveis
Integração com a biblioteca de cliente do App Engine

Incompatível com os ambientes de execução padrão do App Engine em Python 2.7 e PHP 5.5

Compatível com os tempos de execução do Python 3.7, PHP 7.2, Java 8, Go e Node.js

Compatível com o ambiente flexível do App Engine e com todos os ambientes de execução

Compatível em qualquer tempo de execução
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Datastore