Rapid Bucket

Nesta página, descrevemos o Rapid Bucket, um recurso que permite armazenar objetos na classe de armazenamento Rapid ao definir uma zona como o local do bucket. Essa abordagem permite colocalizar o armazenamento de dados com os recursos de computação, o que oferece latência significativamente menor e maior capacidade de processamento em comparação com outras classes de armazenamento no Cloud Storage. As cargas de trabalho em outras zonas e regiões também podem acessar o bucket, com desempenho relativo à distância da rede.

Para criar um bucket zonal usando o Rapid Bucket, consulte Criar buckets zonais. Confira a lista de locais compatíveis em Zonas. Para ler e anexar objetos em buckets zonais, consulte usar objetos em buckets zonais.

Vantagens

O Rapid Bucket foi criado para remover gargalos de armazenamento e é ideal para usar nos seus aplicativos mais intensivos em dados, como IA/ML e análise de dados. Ele oferece suporte a latência abaixo de um milissegundo, até 15 TB/s de capacidade de processamento agregada e 20 milhões de consultas por segundo (QPS). A latência ultrabaixa permite a recuperação instantânea de dados e capacita aplicativos de inferência em tempo real a serem executados em grande escala. A capacidade de processamento massiva e o QPS alto ajudam a manter seus clusters de GPU caros totalmente saturados, reduzindo drasticamente os tempos de treinamento de modelo.

Terminologia do Rapid Bucket

A documentação do Cloud Storage usa os seguintes termos:

  • Rapid Bucket: o produto que permite criar buckets com um local zonal e a classe de armazenamento Rapid Storage.

  • Rapid Storage: a classe de armazenamento que oferece o maior desempenho de acesso aos dados e operação de E/S no Cloud Storage. Ao usar o Rapid Bucket, você cria um bucket que usa o Rapid Storage. Para mais informações sobre o armazenamento rápido, consulte Classes de armazenamento.

  • Bucket zonal: um bucket localizado em uma zona. Os objetos em buckets zonais são sempre armazenados no Rapid Storage e podem ser anexados.

Recursos dos buckets zonais

Além de oferecer baixa latência e alta capacidade de processamento, os intervalos zonais permitem fazer o seguinte:

  • Adicionar ao final de objetos no bucket zonal sem reescrever o objeto inteiro

  • Abra objetos e mantenha um fluxo ao realizar operações, permitindo acelerar leituras e gravações subsequentes.

Casos de uso

O Rapid Bucket é mais adequado para cargas de trabalho de IA/ML ou outras cargas de trabalho com uso intenso de dados. Alguns exemplos dessas cargas de trabalho são o checkpointing, a avaliação e a exibição de modelos, além de filas de registro e mensagens. Ele também pode ser usado para streaming de dados ou para fornecer armazenamento para bancos de dados.

Para aproveitar ao máximo a baixa latência e a alta capacidade de processamento fornecidas pelo Rapid Bucket, ative a conectividade direta do gRPC.

Acesso a objetos em buckets zonais

Para aproveitar os benefícios de desempenho de um bucket zonal, abra objetos para streaming e mantenha um stream enquanto realiza operações neles. Ao estabelecer e manter um stream, é possível realizar operações de leitura ou gravação subsequentes no objeto com latência muito baixa. Por exemplo, ao ler um arquivo Parquet, é possível realizar a leitura inicial dos metadados do arquivo (o rodapé) e a leitura subsequente de linhas específicas em uma única solicitação. Essa abordagem é mais eficiente do que usar solicitações separadas para cada etapa.

Depois de estabelecidos, os fluxos de objetos são mantidos abertos por padrão quando você acessa objetos de bucket zonais usando o Cloud Storage FUSE ou as bibliotecas de cliente do Cloud Storage.

Você pode abrir vários fluxos de leitura para um objeto de qualquer número de hosts. Não há limite para o número de fluxos de leitura que podem ser estabelecidos para um objeto.

Como anexar objetos

É possível anexar dados a objetos em buckets zonais. Quando você faz adições a objetos, a seguinte semântica se aplica:

  • Os objetos anexáveis aparecem no namespace do bucket assim que você começa a gravar neles e podem ser lidos enquanto ainda estão sendo gravados.

  • Não há restrições quanto ao número de adições que podem ser feitas a um objeto ou ao número de bytes que podem ser adicionados por vez. É possível fazer adições até que um objeto atinja o tamanho máximo de 5 TiB.

  • O tamanho de um objeto aumenta em tempo real à medida que novos anexos são gravados ou liberados permanentemente. Ao estabelecer um stream de leitura, antecipe um atraso mínimo na atualização do tamanho do objeto.

  • Objetos anexáveis só podem ter um gravador por vez. Se um novo fluxo de gravação for estabelecido para um objeto que já tem um fluxo de gravação existente, um erro será retornado do Cloud Storage para o fluxo original, e o fluxo original não poderá mais gravar. O novo gravador pode retomar a adição do último deslocamento persistido sem outras adições intercaladas ao objeto.

Finalização de objetos

Depois que um objeto é finalizado, não é mais possível anexar nada a ele, mas ainda é possível substituir o objeto por uma nova versão. Os metadados de um objeto finalizado ainda podem ser alterados. Por exemplo, é possível adicionar novas tags e renomear o objeto.

Como ativar buckets zonais

É possível montar e acessar buckets zonais usando o Cloud Storage FUSE ou o driver CSI do Cloud Storage FUSE. Use a versão 3.7.2 ou mais recente do Cloud Storage FUSE. Para usar o driver CSI do Cloud Storage FUSE, verifique se a versão do Google Kubernetes Engine é 1.35.0-gke.3047001 ou mais recente.

Preços

O uso do Rapid Bucket gera cobranças de armazenamento de dados, operações e rede. Para mais informações, consulte Preços.

Limitações

  • Os buckets zonais precisam ter o namespace hierárquico e o acesso uniforme no nível do bucket ativados.

  • Limitações da Google Cloud CLI:

    • Versão mínima compatível da Google Cloud CLI: a versão mínima da CLI gcloud que oferece suporte a buckets zonais é a 553.0.0. Versões anteriores não são compatíveis com buckets zonais. Recomendamos usar a versão mais recente da CLI gcloud para ter acesso aos recursos e correções de bugs mais recentes.

    • Visibilidade de uploads incompletos: ao contrário dos buckets em outras classes de armazenamento, em que os objetos só aparecem no namespace depois que um upload é concluído, os objetos parcialmente enviados em buckets zonais ficam visíveis imediatamente. Se um comando de upload da Google Cloud CLI falhar ou for interrompido, talvez você veja objetos incompletos no bucket. Ainda é possível retomar esses uploads executando o comando novamente.

    • Substituições de objetos: o comportamento padrão da Google Cloud CLI se aplica a buckets zonais. Quando você substitui um objeto, se um arquivo ou objeto com o mesmo nome existir no destino, os comandos cp, mv e rsync da Google Cloud CLI o substituirão por padrão. Para evitar substituições, use a flag --no-clobber. Ao usar a Google Cloud CLI, anexar dados a um objeto existente é indisponível. É necessário fazer upload de toda a origem novamente.

    • Finalização de objetos: os objetos enviados para um bucket zonal usando a Google Cloud CLI podem sofrer um breve atraso antes que os metadados do objeto sejam totalmente sincronizados. Como o Cloud Storage usa um modelo de consistência eventual, tentar baixar um objeto imediatamente após o upload pode resultar em um erro de incompatibilidade de hash se os metadados ainda não tiverem sido atualizados.

      Se um download falhar com um erro de incompatibilidade de hash logo após um upload, tente executar o comando novamente. O sistema garante que os downloads sejam concluídos por completo ou falhem explicitamente. Downloads parciais ou corrompidos não ocorrem silenciosamente.

Incompatibilidades

Os intervalos zonais são incompatíveis com as seguintes ferramentas, produtos e serviços:

  • Ferramentas

    • Gravações usando a API XML ou a API JSON

    • Uploads de várias partes da API XML

  • Gravações para objetos não anexáveis usando gRPC

  • Proteção de dados e recuperação de desastres

    • Controle de versões dos objetos

    • Fazer a exclusão reversível

    • Replicação entre buckets

  • Gerenciamento de dados

    • Rapid Cache

    • Classe automática

    • Bloqueio do bucket

    • Como criar objetos

    • Retenções de objetos

    • A ação de gerenciamento do ciclo de vida de objetos SetStorageClass

    • Bloqueio de retenção de objetos

    • Realocação de buckets

    • Uploads recuperáveis

    • Como reescrever objetos

    • Pagamentos do solicitante

  • Controle de acesso

    • Listas de controle de acesso (ACLs) no nível do objeto

    • Configurações do CORS

    • Chave de criptografia fornecida pelo cliente (CSEK)

    • Chaves HMAC

  • Metadados

    • Objetos em buckets zonais não têm um hash MD5.

    • As propriedades de metadados associadas a recursos e produtos não compatíveis não aparecem na representação de recurso de um bucket zonal ou de um objeto anexável, ou não podem ser gravadas. Exemplo:

      • As propriedades de metadados softDeleteTime e hardDeleteTime não aparecem na representação de recurso do Objects porque a exclusão reversível não é compatível com objetos em buckets zonais.

      • Os metadados storageClass de objetos em buckets zonais sempre têm um valor de RAPID e não podem ser reescritos porque os buckets zonais sempre precisam usar a classe de armazenamento Rapid Storage.

  • Serviços

    • BigQuery

Cotas

Cada zona por projeto tem uma cota de capacidade de armazenamento padrão. Cada zona por projeto também tem uma cota de saída padrão do Cloud Storage para serviços doGoogle . Para conferir essas cotas, consulte Cotas e limites.

Para saber como monitorar o uso da saída de dados e solicitar mais largura de banda, consulte Monitoramento do uso de largura de banda.

Práticas recomendadas

Para otimizar o desempenho ao usar buckets zonais com o Cloud Storage FUSE, mantenha um identificador de arquivo aberto para os objetos montados e use-o em várias operações. Isso resulta em um desempenho melhor porque permite que o Cloud Storage FUSE evite realizar viagens de ida e volta desnecessárias na rede por leitura repetida.

A seguir