Esta página fornece uma visão geral do namespace hierárquico, principais recursos, casos de uso, benefícios e limitações que devem ser considerados.
Visão geral
O namespace hierárquico é um recurso oferecido pelo Cloud Storage que permite organizar objetos em pastas. Com o namespace hierárquico, é possível e armazenar os dados em uma estrutura lógica de sistema de arquivos. Organizar os dados em um do sistema de arquivos melhora o desempenho, garante a consistência e simplifica o gerenciamento de cargas de trabalho com uso intensivo de dados e orientadas por arquivos.
As operações de gerenciamento de pastas oferecem confiabilidade e gerenciamento incluindo criar, excluir, listar e renomear pastas. A organização hierárquica de objetos simplifica a organização e as tarefas de gerenciamento de dados. Uma pasta em um bucket com namespace hierárquico ativado pode conter objetos, outras pastas ou uma combinação dos dois.
É necessário escolher se você vai usar ou não o namespace hierárquico ao criar o bucket. A configuração do namespace hierárquico do bucket não pode ser alterada depois que o bucket for criado. Para informações sobre como ativar o namespace hierárquico do seu bucket, consulte Criar e gerenciar buckets com namespace hierárquico ativado.
O diagrama a seguir mostra um exemplo de um bucket com namespace hierárquico ativado, em que os objetos são organizados uma estrutura hierárquica de pastas.
Principais recursos
O namespace hierárquico fornece os seguintes recursos:
Consultas iniciais por segundo (QPS) mais altas: buckets com o namespace hierárquico ativado oferecem limites de QPS iniciais até oito vezes mais altos para leitura e gravação de objetos em comparação com buckets sem namespace hierárquico ativado. Quanto maior o QPS inicial, mais fácil é fazer o escalonamento com uso intensivo de dados cargas de trabalho com uma capacidade de processamento aprimorada. Para informações sobre métodos de otimização de desempenho ao usar pastas em buckets com namespace hierárquico ativado, consulte Gerenciamento de pastas.
Pastas: as pastas servem como um contêiner para objetos e outras pastas com suporte para operações como criar, excluir e receber pastas.
Renomear pastas: a operação de renomear pastas ajuda você a renomear o caminho de uma pasta e as pastas subjacentes sem excluir nenhum objeto. Essa técnica é eficiente e poupa tempo, especialmente para pastas com vários objetos.
Listar pastas: a operação "Listar pastas" lista todas as pastas no bucket ou abaixo de uma pasta específica, ajudando você a gerenciar e entender a estrutura dos dados armazenados em um bucket.
Quando você deve ativar o namespace hierárquico no bucket
Considere ativar o namespace hierárquico ao usar aplicativos que esperam uma hierarquia semântica parecida com um sistema de arquivos. O namespace hierárquico é benéfico para tarefas com uso intensivo de dados, como cargas de trabalho de análise, IA e ML. Estes são alguns cenários comuns em que você deve considerar o uso do namespace hierárquico:
Processamento baseado em Hadoop: as cargas de trabalho Hadoop e Spark tradicionalmente esperam uma estrutura de armazenamento semelhante a um sistema de arquivos e uma nomenclatura baseada em tempo para arquivos e pastas. O namespace hierárquico é integrado ao conector do Cloud Storage para oferecer capacidade de processamento aprimorada e renomeações atômicas de pastas, aprimorando a integridade e a consistência dos dados em muitos pipelines de processamento de dados.
Processamento de cargas de trabalho orientadas a arquivos: cargas de trabalho como processamento de análise em lote, serviços financeiros ou computação de alto desempenho são estruturadas em partições com base em uma hierarquia de pastas e arquivos. O namespace hierárquico ajuda a gerenciar esses ambientes com uma API dedicada para o gerenciamento de pastas. Além disso, o namespace hierárquico simplifica o gerenciamento de pastas que contêm outras pastas e objetos. Com uma só API , você pode renomear uma pasta rapidamente com todo o conteúdo, salvando recursos e tempo valiosos.
Processamento de IA e ML: ferramentas de IA e ML, como TensorFlow, Pandas e PyTorch esperam obter acesso e semântica semelhantes a sistemas de arquivos. O namespace hierárquico, especialmente quando combinado com o Cloud Storage FUSE, oferece maior capacidade de processamento e acesso eficiente aos dados. Como resultado, o namespace hierárquico aumenta o desempenho e a confiabilidade do modelo de iteração de ML.
Antes de ativar o namespace hierárquico do bucket, considere as limitações do namespace hierárquico. Para informações sobre as limitações de namespace hierárquico, consulte Limitações.
Benefícios do namespace hierárquico
Ao ativar o namespace hierárquico para os buckets, é possível:
Otimizar a organização: é possível organizar os dados em uma estrutura de pastas hierárquica que ajuda a gerenciar e localizar arquivos ou conjuntos de dados.
Estabelecer um ecossistema semelhante a um sistema de arquivos: o namespace hierárquico introduz recursos semelhantes a sistemas de arquivos, como pastas, renomeação de pastas e listagem de pastas, que são benéficos para aplicativos orientados a arquivos, como o ecossistema Hadoop e as cargas de trabalho de IA e ML.
Melhoria de desempenho: escalonando cargas de trabalho com uso intensivo de dados para lidar com maior capacidade de processamento, é possível aprimorar o desempenho geral do aplicativo.
Suporte a plataformas
Buckets com namespace hierárquico dão suporte aos seguintes recursos da plataforma Cloud Storage:
Todas as APIs de objetos do Cloud Storage e amplamente usadas dos recursos di Cloud Storage. Para saber mais detalhes sobre os recursos sem suporte, consulte Limitações.
Transferência de dados de um bucket padrão para um bucket com o namespace hierárquico usando o Serviço de transferência do Cloud Storage.
Integração com os seguintes produtos:
Conector do Cloud Storage, mantido pelo Dataproc para cargas de trabalho do Hadoop. Para mais informações, consulte Usar buckets ativados do namespace hierárquico para cargas de trabalho do Hadoop
Cloud Storage FUSE para acesso a buckets semelhantes a sistemas de arquivos usando clientes.
Compatibilidade com operações e recursos do Cloud Storage
Os buckets com namespace hierárquico ativado têm as seguintes interações com outras operações do Cloud Storage:
Operações de objeto
Os buckets com namespace hierárquico ativado processam operações de objeto da seguinte maneira:
- Operações como
Upload
,Rewrite
eCompose
criam automaticamente as pastas mãe ausentes, desde que você tenha as permissões necessárias. Como resultado, não é necessário criar pastas antes de fazer o upload de objetos. - Embora as pastas possam ser criadas automaticamente durante operações de objetos, é necessário excluí-las explicitamente usando a operação
DeleteFolder
. - Ao usar a operação
ListObjects
com o parâmetrodelimiter
, os buckets retornam cada pasta filha como umprefix.
. No entanto, pastas vazias são excluídas por padrão. Para incluir pastas vazias, semelhante a uma lista de arquivos típica, defina o parâmetroincludeFoldersAsPrefixes
. Para informações sobre métodos de otimização de desempenho ao listar objetos em buckets com namespace hierárquico ativado, consulte Como listar objetos.
Operações de pastas gerenciadas
Os buckets com namespace hierárquico ativado processam as operações de pasta gerenciada da seguinte maneira:
- Os buckets com namespace hierárquico ativado oferecem controle de acesso granular por pastas gerenciadas. Para gerenciar o acesso em uma pasta, crie uma pasta gerenciada com o mesmo nome e aplique as políticas do IAM a ela. Uma pasta gerenciada não pode existir sem a pasta correspondente.
- A criação de uma pasta gerenciada cria automaticamente as pastas mãe ausentes, incluindo a pasta com o mesmo nome.
- A exclusão de uma pasta também exclui a pasta gerenciada associada.
- Renomear uma pasta altera automaticamente o nome das pastas gerenciadas associadas.
- Os buckets com namespace hierárquico precisam seguir as regras de nome de pasta gerenciada e as regras de nome de pasta. Embora os nomes de pastas possam ser aninhados em até 50 níveis, os nomes de pastas gerenciadas só podem ser aninhados em até 15 níveis. O tamanho máximo do nome de uma pasta gerenciada é limitado pelo tamanho máximo de uma pasta, que é de 512 bytes quando codificado em UTF-8.
Operações de bucket
É possível excluir um bucket com namespace hierárquico ativado da mesma maneira que qualquer outro bucket. Se um bucket ativado com namespace hierárquico tiver apenas pastas vazias e nenhum objeto ou pasta gerenciada, ele poderá ser excluído.
Gerenciamento do ciclo de vida de objetos
O Gerenciamento do ciclo de vida de objetos permite automatizar ações em objetos
com base em condições, como idade ou prefixo. No entanto, as regras Gerenciamento do ciclo de vida de objetos podem se comportar de maneira diferente em buckets com namespace hierárquico e em buckets com um namespace simples devido à operação RenameFolder
:
Regras de gerenciamento do ciclo de vida de objetos para buckets com um namespace plano: a operação de renomeação envolve renomear todos os objetos usando ferramentas, copiando cada um deles para um local de destino e excluindo o objeto original do local de origem. Como resultado, novos objetos são criados com novos horários de criação no local de destino. Se as regras de gerenciamento do ciclo de vida de objetos com base na idade forem aplicadas ao local de destino, elas não serão aplicadas aos novos objetos imediatamente, já que os horários de criação deles são redefinidos.
Regras do Gerenciamento do ciclo de vida de objetos para buckets com namespace hierárquico ativado: a renomeação de uma pasta opera no nível da pasta, sem precisar renomear cada objeto. Como resultado, o horário de criação dos objetos é preservado. Isso significa que as regras do Gerenciamento do ciclo de vida de objetos com base na idade são aplicadas aos objetos renomeados imediatamente se eles atenderem aos critérios de idade.
Como gerenciar buckets com namespace hierárquico ativado
É possível listar todos os buckets com namespace hierárquico ativado, independentemente do layout de armazenamento. O layout de armazenamento de um bucket descreve como os objetos são organizados em um bucket, seja em um namespace plano ou hierárquico. Para conferir instruções sobre como visualizar o layout de armazenamento de um bucket, consulte Receber o layout de armazenamento de um bucket. Para listar todos os buckets, siga as instruções detalhadas em Listar buckets.
É possível excluir um bucket com namespace hierárquico ativado da mesma maneira que qualquer outro bucket. Para fins de exclusão, se um bucket com namespace hierárquico ativado tiver apenas pastas vazias e nenhum objeto ou pastas gerenciadas, ele será considerado vazio. Para instruções sobre como excluir buckets, consulte Excluir buckets.
Preços
Para informações sobre preços, consulte Preços do Cloud Storage.
Limitações
Confira a seguir as limitações do namespace hierárquico:
É necessário escolher se você vai usar ou não o namespace hierárquico ao criar o bucket. A configuração do namespace hierárquico do bucket não pode ser alterada depois que o bucket for criado.
Para ativar o namespace hierárquico, um bucket também precisa ativar o acesso uniforme no nível do bucket.
Os seguintes recursos do Cloud Storage não têm suporte para buckets que usam o namespace hierárquico:
- Classe automática
- Controle de versões do objeto
- Bloqueio de retenção de objetos
- Bloqueio de buckets
A seguir
- Crie buckets com namespace hierárquico ativado.
- Criar e gerenciar pastas.
- Renomear pastas.
- Usar o namespace hierárquico para cargas de trabalho do Hadoop.
- Otimizar a performance.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud Storage em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça uma avaliação gratuita do Cloud Storage