Selecionar e implementar uma estratégia de armazenamento

Last reviewed 2023-07-17 UTC

Neste documento, mostramos o framework de arquitetura do Google Cloud sobre as práticas recomendadas para implantar seu sistema com base no armazenamento. Você aprenderá a selecionar uma estratégia de armazenamento e como gerenciar armazenamento, padrões de acesso e cargas de trabalho.

Para facilitar a troca de dados e fazer backup e armazenar dados com segurança, as organizações precisam escolher um plano de armazenamento com base na carga de trabalho, operações de entrada/saída por segundo (IOPS, na sigla em inglês), latência, frequência de recuperação, local, capacidade e formato (bloco, arquivo e objeto).

O Cloud Storage oferece serviços de armazenamento de objetos confiáveis e seguros, incluindo:

No Google Cloud, a IOPS é escalonada de acordo com o espaço de armazenamento provisionado. Alguns tipos de armazenamento, como discos permanentes, exigem replicação e backup manuais porque são regionais ou por zona. Por outro lado, o armazenamento de objetos é altamente disponível e replica automaticamente dados em uma única região ou em várias regiões.

Tipo de armazenamento

Nesta seção, você verá as práticas recomendadas para escolher um tipo de armazenamento compatível com seu sistema.

Avaliar as opções de armazenamento de alto desempenho

Avalie discos permanentes ou unidades de estado sólido (SSD) locais para aplicativos de computação que exigem armazenamento de alto desempenho. O Cloud Storage é um armazenamento de objetos imutável com controle de versões. O uso do Cloud Storage com o Cloud CDN ajuda na otimização de custos, especialmente para objetos estáticos acessados com frequência.

O Filestore é compatível com aplicativos de várias gravações que precisam de espaço compartilhado de alto desempenho. O Filestore também é compatível com aplicativos modernos e legados que exigem operações de arquivos do tipo POSIX por meio de ativações do Network File System (NFS).

O Cloud Storage é compatível com casos de uso, como a criação de data lakes e abordagem de requisitos de arquivamento. Tome decisões de compensação com base em como você escolhe a classe do Cloud Storage devido aos custos de acesso e recuperação, especialmente ao configurar políticas de retenção. Para mais informações, consulte Criar uma estratégia de armazenamento ideal para sua carga de trabalho na nuvem.

Todas as opções de armazenamento são criptografadas por padrão em repouso e em trânsito usando chaves gerenciadas pelo Google. Para tipos de armazenamento como o Persistent Disk e o Cloud Storage, é possível fornecer sua própria chave ou gerenciá-los por meio do Cloud Key Management Service (Cloud KMS). Estabeleça uma estratégia para lidar com essas chaves antes de aplicá-las aos dados de produção.

Escolher os serviços do Google Cloud compatíveis com o design de armazenamento

Para saber mais sobre os serviços do Google Cloud compatíveis com o design de armazenamento, use a tabela a seguir:

Serviço do Google Cloud Descrição
Cloud Storage Oferece armazenamento e recuperação global de qualquer quantidade de dados a qualquer momento. É possível usar o Cloud Storage para uma variedade de cenários, incluindo veiculação de conteúdo do site, armazenamento de dados para arquivamento e recuperação de desastres ou distribuição de objetos de dados grandes por meio de download direto.

Para ver mais informações, consulte os seguintes tópicos:
Persistent Disk Um armazenamento em blocos de alto desempenho para o Google Cloud. O Persistent Disk fornece armazenamento SSD e de disco rígido (HDD, na sigla em inglês) que pode ser anexado a instâncias em execução no Compute Engine ou no Google Kubernetes Engine (GKE).
  • Os discos regionais fornecem armazenamento durável e replicação de dados entre duas zonas na mesma região. Se você precisar de IOPS mais altas e baixa latência, o Google Cloud oferece o Filestore.
  • Os SSDs locais são fisicamente anexados ao servidor que hospeda a instância da máquina virtual. É possível usar SSDs locais como espaço em disco temporário.
Filestore Um serviço de armazenamento de arquivos gerenciado para aplicativos que exigem uma interface de sistema de arquivos e um sistema de arquivos compartilhado para dados. O Filestore proporciona aos usuários uma experiência perfeita para manter o armazenamento conectado à rede (NAS, na sigla em inglês) gerenciado com as respectivas instâncias do Compute Engine e do GKE.
Cloud Storage para Firebase Criado para desenvolvedores de aplicativos que precisam armazenar e disponibilizar conteúdo gerado pelo usuário, como fotos ou vídeos. Todos os seus arquivos são armazenados em buckets do Cloud Storage. Portanto, eles podem ser acessados no Firebase e no Google Cloud.

Escolher uma estratégia de armazenamento

Para selecionar uma estratégia de armazenamento que atenda aos requisitos do aplicativo, use a seguinte tabela:

Caso de uso Recomendações
Você quer armazenar dados em escala com o menor custo, e o desempenho de acesso não é um problema. Cloud Storage
Você está executando aplicativos de computação que precisam de armazenamento imediato.

Saiba mais em Como otimizar o desempenho de discos permanentes e SSDs locais.
Persistent Disk ou SSD local
Você está executando cargas de trabalho de alto desempenho que precisam de acesso de leitura e gravação ao espaço compartilhado. Filestore
Você tem casos de uso de computação de alto desempenho (HPC) ou de alta capacidade (HTC, na sigla em inglês). Como usar clusters na computação técnica em grande escala no Google Cloud

Escolher armazenamento ativo ou de arquivamento com base nas necessidades de acesso do armazenamento

Uma classe de armazenamento é um fragmento de metadados usado por todos os objetos. Para dados exibidos em uma taxa alta com alta disponibilidade, use a classe Standard Storage. Para dados que são acessados com pouca frequência e podem tolerar uma disponibilidade um pouco menor, use a classe Nearline Storage, Coldline Storage ou Archive Storage. Para mais informações sobre considerações de custo para escolher uma classe de armazenamento, consulte Preços do Cloud Storage.

Avaliar as necessidades de localização de armazenamento e proteção de dados do Cloud Storage

Para um bucket do Cloud Storage localizado em uma região, os dados contidos nele são replicados automaticamente entre as zonas da região. A replicação de dados entre zonas protege os dados se houver uma falha zonal em uma região.

O Cloud Storage também oferece locais redundantes entre as regiões, o que significa que os dados são replicados em vários data centers geograficamente separados. Para mais informações, consulte Locais de bucket.

Usar o Cloud CDN para melhorar a entrega de objetos estáticos

Para otimizar o custo de recuperação de objetos e minimizar a latência do acesso, use o Cloud CDN. O Cloud CDN usa o balanceador de carga de aplicativo externo do Cloud Load Balancing para fornecer suporte a roteamento, verificação de integridade e endereço IP anycast. Para mais informações, consulte Como configurar o Cloud CDN com buckets de nuvem.

Padrão do acesso de armazenamento e tipo de carga de trabalho

Nesta seção, você verá as práticas recomendadas para escolher padrões de acesso de armazenamento e tipos de carga de trabalho compatíveis com seu sistema.

Usar o Persistent Disk para permitir o acesso ao armazenamento de alto desempenho

Os padrões de acesso aos dados dependem de como o desempenho do sistema é projetado. O Cloud Storage fornece armazenamento escalonável, mas não é uma escolha ideal quando você executa cargas de trabalho pesadas de computação que precisam de acesso de alta capacidade para grandes quantidades de dados. Para acesso a armazenamento de alto desempenho, use disco permanente.

Usar espera exponencial ao implementar lógica de repetição

Use a espera exponencial ao implementar a lógica de nova tentativa para lidar com erros 5XX, 408 e 429. Cada bucket do Cloud Storage é provisionado com capacidade inicial de E/S. Para mais informações, consulte as Diretrizes de taxa de solicitação e distribuição de acesso. Planejar um aumento gradual para solicitações de repetição.

Gerenciamento de armazenamento

Nesta seção, você verá as práticas recomendadas de gerenciamento de armazenamento compatíveis com o sistema.

Atribuir nomes exclusivos a cada bucket

Torne cada nome de bucket exclusivo em todo o namespace do Cloud Storage. Não inclua informações confidenciais em um nome de bucket. Escolha nomes de buckets e objetos que são difíceis de adivinhar. Para mais informações, consulte as diretrizes de nomenclatura de bucket e diretrizes de nomenclatura de objeto.

Mantenha os buckets do Cloud Storage privados

A menos que haja um motivo relacionado a negócios, verifique se o bucket do Cloud Storage não está acessível de forma anônima ou pública. Para mais informações, consulte Visão geral do controle de acesso.

Atribuir nomes de objetos aleatórios para distribuir a carga uniformemente

Atribua nomes aleatórios de objetos para facilitar o desempenho e evitar o uso excessivo do ponto de acesso. Use um prefixo aleatório para objetos sempre que possível. Para mais informações, consulte Usar uma convenção de nomenclatura que distribua a carga uniformemente pelos intervalos de chaves.

Usar a prevenção do acesso público

Para impedir o acesso no nível da organização, da pasta, do projeto ou do bucket, use a prevenção do acesso público. Para mais informações, consulte Como usar a prevenção do acesso público.

A seguir

Saiba mais sobre os serviços de banco de dados do Google Cloud e as práticas recomendadas, incluindo:

Explore outras categorias no Framework de arquitetura, como confiabilidade, excelência operacional e segurança, privacidade e conformidade.