Visão geral do Cloud Datastore

O Google Cloud Datastore é um banco de dados de documentos NoSQL criado para dimensionamento 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 executa um conjunto de operações em que todas ou nenhuma delas é bem-sucedida.
  • 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 escalabilidade 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. No final das contas, todas as outras consultas são consistentes. Com os modelos de consistência, o aplicativo oferece uma excelente experiência ao usuário na manipulação de grande volumes de dados e usuários.
  • Criptografia em repouso. O Cloud Datastore automaticamente criptografa todos os dados antes de serem gravados em disco e descriptografa os dados para serem 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.

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 Table
Um objeto Entity Document Row
Dados individuais de um objeto Propriedade Campo Coluna
Código exclusivo de um objeto Key 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 veiculadas 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 Join, 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 mais informações sobre outras opções de armazenamento, consulte o guia Como escolher uma opção de armazenamento.

Como se conectar ao Cloud Datastore com o App Engine

O smbiente de execução padrão do Go no App Engine é conectado ao Cloud Datastore usando a API Go Datastore. Para uma lista completa do conteúdo do pacote datastore, consulte a referência do pacote datastore.

Não é possível usar a biblioteca de cliente do Cloud Datastore com aplicativos Go no ambiente padrão do App Engine.

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

Enviar comentários sobre…

Ambiente padrão do App Engine para Go