Consistência

Nesta página, explicaremos quais operações do Cloud Storage têm consistência forte e quais têm consistência eventual. No caso de objetos legíveis publicamente legíveis, você controla o grau em que as operações nos objetos são consistentes.

Operações de consistência forte

O Cloud Storage fornece consistência forte global para as operações a seguir, incluindo dados e metadados:

  • Leitura após gravação
  • Leitura após atualização de metadados
  • Leitura após exclusão
  • Listagem de intervalos
  • Listagem de objetos
  • Concessão de acesso a recursos

Quando você faz o upload de um objeto para o Cloud Storage e recebe uma resposta bem-sucedida, o objeto fica imediatamente disponível para download e operações de metadados de qualquer local em que o Google ofereça serviço. Isso é verdadeiro se você criar um novo objeto ou sobrescrever um objeto existente. Como os uploads têm consistência forte, você nunca receberá uma resposta 404 Not Found ou dados obsoletos para uma operação de leitura após gravação ou leitura após atualização de metadados.

Além disso, quando uma solicitação de upload é bem-sucedida, isso significa que seus dados são replicados em vários data centers. A latência para gravar no repositório globalmente consistente e replicado do Cloud Storage pode ser um pouco mais alta do que em um repositório não replicado ou não confirmado. Isso ocorre porque uma resposta bem-sucedida é retornada somente quando várias gravações são concluídas, não apenas uma.

A consistência global forte também se estende às operações de exclusão em objetos. Se uma solicitação de exclusão for bem-sucedida, uma tentativa imediata de fazer o download do objeto ou dos metadados dele resultará em um código de status 404 Not Found. Você recebe o erro 404, porque o objeto não existe mais depois que a operação de exclusão é bem-sucedida.

A listagem de intervalos tem consistência forte. Por exemplo, se você criar um intervalo e, em seguida, executar imediatamente uma operação list buckets, o novo intervalo será exibido na lista de intervalos retornada.

A listagem de objetos também tem consistência forte. Por exemplo, se você fizer o upload de um objeto em um intervalo e depois executar imediatamente uma operação list objects, o novo objeto aparecerá na lista de objetos retornada.

Para intervalos, embora as atualizações de metadados tenham consistência forte para operações de leitura após atualização de metadados, as alterações de configuração resultantes podem levar tempo para serem propagadas. Por exemplo, se você ativar o controle de versão do objeto em um intervalo, aguarde pelo menos 30 segundos antes de excluir ou sobrescrever objetos.

Operações de consistência eventual

As operações a seguir têm consistência eventual:

  • Revogação de acesso de recursos

Em geral, leva cerca de um minuto para que a revogação do acesso entre em vigor. Em alguns casos, isso pode levar mais tempo.

Como um exemplo de comportamento que pode surgir da consistência eventual, se você remover o acesso de um usuário a um intervalo, essa alteração será refletida imediatamente nos metadados do intervalo. No entanto, o usuário ainda pode ter acesso a ele por um curto período.

Controle de cache e consistência

Objetos em cache que são publicamente legíveis podem não apresentar consistência forte. Se você permitir que um objeto seja armazenado em cache e ele estiver no cache quando for atualizado ou excluído, esse objeto não será atualizado ou excluído até que a vida útil do cache expire.

A vida útil do cache de um objeto é definida pelos metadados do Cache-Control associados a ele. Os metadados Cache-Control podem ser definidos usando um cabeçalho de solicitação Cache-Control incluído no upload inicial do objeto ou em uma atualização para os metadados do objeto subsequente. Como você controla os metadados Cache-Control, também controla o grau em que os objetos armazenados em cache são consistentes. Além disso, enquanto as solicitações para o objeto podem incluir o próprio cabeçalho Cache-Control, esses cabeçalhos são ignorados pelo Cloud Storage, se estiverem definidos para evitar o conteúdo em cache.

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

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.