Visão geral do Cloud Datastore

O Cloud Datastore é um banco de dados de documentos NoSQL criado para fornecer escalonamento automático, alto desempenho e facilidade no desenvolvimento de aplicativos. Estes são os recursos do Cloud Datastore:

  • Transações atômicas. O Cloud Datastore é capaz de executar um conjunto de operações em que ou todas têm sucesso, ou nenhuma.
  • Alta disponibilidade de leituras e gravações. O Cloud Datastore é executado nos data centers do Google, que usam redundância para minimizar o impacto dos pontos de falha.
  • Grande escalonabilidade com alto desempenho. O Cloud Datastore usa uma arquitetura distribuída para gerenciar o dimensionamento automaticamente. Ele usa uma combinação de índices e restrições de consultas para que elas sejam do tamanho do conjunto de resultados, e não do conjunto de dados.
  • Armazenamento flexível e consultas de dados. O Cloud Datastore mapeia naturalmente para linguagens de script e orientadas a objeto e é exposto a aplicativos por meio de vários clientes. Ele também oferece uma linguagem de consulta semelhante à SQL.
  • Equilíbrio entre consistência forte e eventual. No Cloud Datastore, consultas de entidade por chave e ancestral sempre retornam dados fortemente consistentes. Todas as outras consultas têm consistência eventual. Com os modelos de consistência, o aplicativo oferece uma excelente experiência do usuário no processamento de grandes volumes de dados e usuários.

  • Criptografia em repouso. O Cloud Datastore automaticamente criptografa todos os dados antes de serem gravados no disco e descriptografa os dados quando lidos por um usuário autorizado. Veja mais informações em Criptografia no servidor.

  • Totalmente gerenciado sem inatividade planejada. O Google lida com a administração do serviço do Cloud Datastore para que você se concentre no aplicativo. O aplicativo pode usar o Cloud Datastore mesmo quando o serviço recebe um upgrade planejado.

Cloud Firestore no modo Datastore

O Cloud Firestore é a versão mais recente do Cloud Datastore e apresenta várias melhorias em relação ao Cloud Datastore. Para acessar essas melhorias, os usuários atuais do Cloud Datastore podem criar uma nova instância de banco de dados do Cloud Firestore no modo Datastore. No futuro, será feito o upgrade automático de todos os bancos de dados do Cloud Datastore para o Cloud Firestore no modo Datastore.

Comparação com bancos de dados tradicionais

Mesmo que a interface do Cloud Datastore tenha muitos recursos dos bancos de dados tradicionais, sendo um banco de dados NoSQL, ele difere deles na descrição de relações entre objetos de dados. Veja uma comparação de alto nível entre o Cloud Datastore e conceitos de bancos de dados relacionais:

Conceito Cloud Datastore Cloud Firestore Banco de dados relacional
Categoria de objeto Tipo Grupo de coleção Tabela
Um objeto Entidade Documento Linha
Dados individuais de um objeto Propriedade Campo Coluna
Código exclusivo de um objeto Chave Código do documento Chave primária

Ao contrário das linhas em uma tabela de banco de dados relacional, entidades do Cloud Datastore do mesmo tipo podem ter diferentes propriedades com o mesmo nome, mas diferentes tipos de valor. Com essas características únicas, há uma forma diferente de projetar e gerenciar dados para aproveitar a capacidade de dimensionamento automático. O Cloud Datastore difere de um banco de dados relacional tradicional nestes aspectos importantes:

  • O Cloud Datastore é projetado para dimensionamento automático com grandes conjuntos de dados, permitindo que os aplicativos mantenham o alto desempenho quando receberem mais tráfego.
    • As gravações do Cloud Datastore são dimensionadas automaticamente por meio da distribuição de dados conforme necessário.
    • As leituras do Cloud Datastore são dimensionadas porque as únicas consultas com suporte são aquelas cujo desempenho é dimensionado conforme o tamanho do conjunto de resultados (e não do conjunto de dados). Isso significa que uma consulta com 100 entidades no conjunto de resultados tem o mesmo resultado de uma pesquisa com centenas ou um milhão de entidades. Essa propriedade é a principal razão de não haver suporte para alguns tipos de consultas.
  • Como todas as consultas são atendidas por índices criados anteriormente, os tipos de consultas que podem ser realizadas são mais restritos que os permitidos em um banco de dados relacional com SQL. Em particular, o Cloud Datastore não oferece suporte a operações de mescla, filtragem de desigualdade em várias propriedades ou filtragem em dados com base nos resultados de uma subconsulta.
  • Ao contrário dos bancos de dados relacionais tradicionais, que impõem um esquema, o Cloud Datastore não tem nenhum. Ele não exige que entidades do mesmo tipo tenham um conjunto consistente de propriedades, embora você tenha a opção de impor esse requisito em seu próprio código de aplicativo.

Indicações de uso

O Cloud Datastore é ideal para aplicativos que dependem de dados estruturados altamente disponíveis em grande escala. Você pode usar o Cloud Datastore para armazenar e consultar todos estes tipos de dados:

  • catálogos de produtos que oferecem informações e inventário em tempo real para um varejista
  • perfis de usuários que oferecem uma experiência personalizada com base nas preferências e atividades anteriores do usuário
  • transações com base em propriedades ACID (por exemplo, transferência de fundos de uma conta bancária para outra)

Outras opções de armazenamento

O Cloud Datastore não é ideal para todos os casos de uso. Por exemplo, o Cloud Datastore não é um banco de dados relacional e não é uma solução eficaz de armazenamento de dados de análise.

Veja alguns cenários comuns em que é recomendado que você escolha outra solução:

  • Se você precisa de um banco de dados relacional com compatibilidade total a SQL para um sistema de processamento de transações on-line (OLTP, na sigla em inglês), pense em usar o Cloud SQL.
  • Se você não precisa de compatibilidade para transações de atomicidade, consistência, isolamento e durabilidade (ACID, na sigla em inglês) ou se os seus dados não são altamente estruturados, pense em usar o Cloud Bigtable.
  • Se você precisa de consultas interativas em um sistema de processamento analítico online (OLAP), pense em usar o BigQuery.
  • Se você precisa armazenar blobs grandes imutáveis, como imagens ou filmes, pense em usar o Cloud Storage.

Para outras opções de armazenamento, consulte o guia Como escolher uma opção de armazenamento.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Datastore