Rapid Bucket

Nesta página, descrevemos o Rapid Bucket, um recurso que permite armazenar objetos na classe de armazenamento Rapid definindo uma zona como o local de um bucket. Essa abordagem permite colocalizar o armazenamento de dados com os recursos de computação, o que oferece uma latência significativamente menor e uma capacidade de processamento maior 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 disponíveis em Zonas. Para ler e anexar objetos em buckets zonais, consulte usar objetos em buckets zonais.

Para que o Rapid Bucket seja ativado em um bucket, ele também precisa ter o namespace hierárquico e o acesso uniforme no nível do bucket ativados.

Recursos e benefícios

O Rapid Bucket foi criado para remover gargalos de armazenamento e é ideal para usar nos seus aplicativos com uso intensivo de dados, como IA/ML e análise de dados. O Rapid Bucket oferece suporte a latência de submilissegundos, até 15 TB/s de capacidade de processamento agregado 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 alta capacidade de processamento e o QPS alto ajudam a manter seus clusters de GPU caros totalmente saturados, reduzindo drasticamente os tempos de treinamento de modelo.

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 executar uma reescrita completa do objeto

  • Abra objetos e mantenha um fluxo enquanto realiza 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 intensivo de dados. Alguns exemplos dessas cargas de trabalho são o ponto de verificação, a avaliação e a exibição de modelos, além de filas de registro e de mensagens. Ele também pode ser usado para transmitir dados ou 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.

Terminologia do Rapid Bucket

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

  • Rapid Bucket: o produto que permite a criação de 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 a 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 Rapid Storage, 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.

Acesso a objetos em buckets zonais

Para aproveitar os benefícios de performance de um bucket zonal, abra objetos para streaming e mantenha um stream enquanto realiza operações neles. Ao estabelecer e manter um fluxo, é 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, você pode 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.

É possível abrir vários fluxos de leitura para um objeto de qualquer número de hosts. Não há limite para o número de streams de leitura que podem ser estabelecidos para um objeto.

Adicionar objetos

É possível anexar dados a objetos em buckets zonais. Ao adicionar 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 fluxo 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 em andamento, 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 a ele, mas ainda é possível substituir o objeto por uma nova versão. Os metadados de um objeto finalizado ainda são mutáveis. 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, sua versão do Google Kubernetes Engine precisa ser 1.35.0-gke.3047001 ou mais recente.

Ferramentas compatíveis

É possível trabalhar com buckets zonais usando a maioria das ferramentas do Cloud Storage. No entanto, as seguintes limitações se aplicam:

  • Não é possível gravar em buckets zonais usando APIs de biblioteca de cliente padrão destinadas a buckets não zonais. Para gravar em buckets zonais, modifique seu código para usar APIs compatíveis com buckets zonais. Para saber quais APIs usar, consulte os exemplos de código da biblioteca de cliente em Usar objetos em buckets zonais.

  • Ao usar o gRPC, só é possível gravar em buckets zonais usando as APIs BidiWriteObject. Objetos anexáveis só são compatíveis com a chamada de RPC BidiWriteObject no modo anexável. Outros métodos de gravação gRPC (como gravações únicas ou retomáveis) e outras chamadas de RPC (como WriteObject) não são compatíveis com objetos anexáveis.

  • Não é possível gravar em buckets zonais usando a API JSON.

  • O Rapid Bucket é compatível com as versões 2026.3.0 e mais recentes da biblioteca Python GCSFS.

  • 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. As 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. Os downloads de objetos fracionados e as otimizações de desempenho para buckets zonais exigem a CLI gcloud versão 583.0.0 ou mais recente. Para mais informações, consulte Ajustar o desempenho da CLI gcloud para buckets zonais.

    • 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 por upload em buckets zonais ficam imediatamente visíveis. Se um comando de upload da Google Cloud CLI falhar ou for interrompido, talvez você veja objetos incompletos no bucket. Você ainda pode 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, não é possível anexar dados a um objeto existente. É 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 posterior, 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. Os downloads são concluídos por completo ou falham explicitamente. Downloads parciais ou corrompidos não ocorrem silenciosamente.

  • Desempenho da validação de checksum: os buckets zonais dependem exclusivamente do CRC32C para validação de dados, permitindo que o sistema execute o checksum por partes e para todo o upload ou download. Por padrão, a Google Cloud CLI usa a biblioteca Python google-crc32c, que vem pré-instalada com a Google Cloud CLI. No entanto, se você estiver usando uma instalação do Python não agrupada, instale explicitamente a biblioteca google-crc32c do PyPI. Caso contrário, a Google Cloud CLI vai usar o binário gcloud-crc32c, o que pode deixar mais lento o desempenho da computação de CRC por partes.

Incompatibilidades

Os buckets zonais são incompatíveis com os seguintes produtos e serviços:

  • Upload e gerenciamento de dados

    • Rapid Cache

    • Classe automática

    • Bloqueio do bucket

    • Objetos compostos

    • Uploads de várias partes em XML

    • Retenções de objetos

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

    • Bloqueio de retenção de objetos

    • Realocações de buckets

    • Uploads retomáveis

    • Reescritas de objetos

    • Pagamentos do solicitante

  • Metadados

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

    • As propriedades de metadados associadas a recursos e produtos sem suporte 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 usam a classe de armazenamento Rapid Storage.

  • Controle de acesso

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

    • Configurações do CORS

    • Chaves de criptografia fornecidas pelo cliente (CSEK)

    • Chaves HMAC

  • 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

  • Outros serviços do Google Cloud

    • 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çosGoogle . 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.

Preços

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

Práticas recomendadas

Para otimizar o desempenho e a utilização de recursos ao trabalhar com buckets zonais, considere as seguintes práticas recomendadas:

  • Otimizar leituras de objetos: ao ler objetos de buckets zonais usando a CLI gcloud, ela aplica automaticamente configurações padrão de simultaneidade e segmentação. Para ajustar ainda mais essas configurações para uma carga de trabalho específica, consulte Ajustar o desempenho da CLI gcloud para buckets zonais.

  • Processamento de arquivos do Cloud Storage FUSE: para otimizar o desempenho ao usar buckets zonais com o Cloud Storage FUSE, mantenha um descritor de arquivo aberto para objetos no bucket zonal ativado e use-o para várias operações. Essa prática melhora o desempenho porque o Cloud Storage FUSE evita viagens de ida e volta desnecessárias na rede para leituras repetidas.

  • Otimize a latência de gravação paralela: se você mantiver sua própria lógica de gravação paralela de gRPC, considere usar um pool de gravadores pré-abertos com objetos não finalizados para mover a configuração de stream para fora do caminho de gravação. Um pool de gravadores pré-abertos abre fluxos de objetos e cria objetos anexáveis novos e vazios no bucket antes que o aplicativo precise deles. Para mais informações, consulte Otimizar a latência de gravação.

A seguir