Níveis de consistência de dados
As consultas do Datastore podem gerar resultados em dois níveis de consistência:
- Consultas com consistência forte garantem os resultados mais recentes, mas podem levar mais tempo para serem concluídas.
- Consultas com consistência eventual costumam ser mais rápidas, mas podem retornar resultados desatualizados.
Em uma consulta com consistência eventual, os índices usados para coletar os resultados também são acessados com esse tipo de consistência. Consequentemente, essas consultas podem, algumas vezes, retornar entidades que não correspondem mais aos critérios de consulta originais, e as consultas fortemente consistentes são sempre consistentes de maneira transacional.
Consistência de dados da consulta do Datastore
As consultas retornam resultados com diferentes níveis de garantia de consistência, dependendo da natureza da consulta:
- As consultas de ancestral ficam dentro de um grupo de entidades e têm consistência forte por padrão, mas é possível atribuir uma consistência eventual a elas. Para isso, basta definir a política de leitura do Datastore conforme descrito abaixo.
- As consultas de não ancestral sempre têm consistência eventual.
A busca de uma entidade por chave, também chamada de "pesquisa por chave", tem consistência forte.
Próximas etapas
- Saiba como especificar o que uma consulta retorna e ter mais controle sobre os resultados da consulta.
- Conheça as restrições comuns para consultas no Datastore.
- Saiba mais sobre os cursores de consulta, que permitem que um aplicativo recupere os resultados de uma consulta em lotes convenientes.
- Conheça a sintaxe básica e a estrutura das consultas do Datastore.