O que é armazenamento de blobs?

O armazenamento de blobs é uma forma altamente escalável de armazenar dados não estruturados em nuvem usando lagos de dados.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir Objeto binário grande (blob)
  • Entender o armazenamento de blobs e de objetos
  • Descrever as vantagens do armazenamento de blobs

Copiar o link do artigo

O que é armazenamento de blobs?

O armazenamento de blobs é um tipo de armazenamento em nuvem para dados não estruturados."Blob," que é a abreviação de Objeto binário grande, é uma massa de dados em formato binário que não está necessariamente em conformidade com nenhum formato de arquivo.O armazenamento de blobs mantém essas massas de dados em áreas de armazenamento não hierárquico chamadas lagos de dados.

Imagine que a Alice guarda suas roupas em trajes selecionados que estão prontos para serem usados, enquanto o Bob simplesmente joga suas roupas em uma pilha. O método do Bob é mais parecido com o armazenamento blobs: qualquer peça de roupa pode ir para sua pilha e as roupas não precisam ser organizadas de nenhuma forma em particular. O método do Bob é vantajoso porque ele pode aumentar sua pilha de roupas de maneira rápida e quase infinita: ele pode simplesmente jogar mais roupas, em vez de dobrá-las e organizá-las como a Alice.

Mesmo que o método de armazenamento de roupas do Bob torne mais difícil localizar rapidamente peças de roupa específicas, muitas organizações precisam de uma abordagem similar de armazenamento de dados. Elas têm muitos dados e precisam armazenar grandes volumes deles sem organizá-los em uma hierarquia ou encaixá-los em um determinado formato.

O armazenamento blobs permite aos desenvolvedores construir lagos de dados para aplicativos móveis e baseadas em nuvens. O armazenamento blobs é particularmente útil para armazenar mídias, backups de arquivos grandes e registros de dados. Mas ele pode ser usado para qualquer coisa — mesmo arquivos que normalmente podem ficar em um banco de dados mais hierárquico.

O que é armazenamento de objetos?

O armazenamento de blobs é um tipo de armazenamento de objetos. O armazenamento de objetos mantém arquivos ou blobs em um "lago de dados" ou "pool" plano sem hierarquia; um lago de dados/pool é uma grande coleção de dados não estruturados. O armazenamento de objetos contrasta com o armazenamento de arquivos e o armazenamento em blocos:

  • O armazenamento de arquivos mantém os dados em uma estrutura hierárquica de pastas, diretórios, subdiretórios, e assim por diante
  • O armazenamento em blocos mantém os dados em volumes de dados de tamanho semelhante chamados "blocos"

O armazenamento de arquivos e blocos muitas vezes não é suficientemente flexível ou escalável para as organizações modernas. Em contraste, o armazenamento de objetos é tão escalável que alguns o consideram como um armazenamento "ilimitado". Entretanto, o uso do armazenamento de objetos em vez do armazenamento de arquivos ou blocos pode tornar a recuperação de dados mais complicada.

O que é um blob?

Um Objeto binário grande (blob) é uma coleção de dados de tamanho arbitrário. Os blobs não precisam seguir um determinado formato ou ter quaisquer metadados associados a eles. São uma série de bytes, com cada byte composto de 8 bits (um 1 ou um 0, daí o descritor "binário"). Qualquer tipo de dado pode entrar em um blob.

Em algumas implementações, os blobs são armazenados em contêineres.Um contêiner é uma seção do ambiente do espaço do usuário de um computador que foi particionada do restante do computador.Os contêineres são uma forma generalizada de computação em nuvem.Como o nome indica, os recipientes são autocontidos — eles armazenam todas as dependências de que precisam, além de quaisquer arquivos e aplicações que contenham.Saiba mais sobre contêineres.

Quais são as vantagens do armazenamento de blobs?

Escalável: a capacidade do armazenamento de blobs é praticamente ilimitada.E à medida que a quantidade de dados armazenados cresce, permanece fácil e rápido guardar os dados para posterior recuperação.

Nativo em nuvem: O armazenamento de blobs é hospedado em nuvem.Isto faz com que o armazenamento de blobs seja um ajuste natural para organizações que estão construindo ou migrando para a nuvem.Isto também significa que o armazenamento de blobs pode ser acessado de qualquer local através da internet, como é o caso de todos os serviços em nuvem.

Independente de linguagem de programação: os provedores de armazenamento de blobs geralmente permitem que os desenvolvedores utilizem uma ampla gama de linguagens para acessar seus blobs.

Custo-benefício: O armazenamento de blobs geralmente tem preços por camadas.Os dados raramente acessados estão em uma camada muito mais barata, o que significa que grandes quantidades de dados podem ser armazenadas de maneira mais econômica se a maioria não for acessada regularmente.

Em que casos de uso o armazenamento de blobs é mais indicado?

Alguns dos principais casos de uso para armazenamento de blobs incluem:

  • Mídia: dados de imagem, vídeo e áudio ocupam muito espaço e às vezes precisam ser armazenados, mas não necessariamente acessados regularmente.
  • Logs: como o software executa, ele cria constantemente uma série de eventos que podem ser registrados em logs para análise posterior.O volume destes dados pode aumentar rapidamente.O armazenamento de blobs permite o armazenamento rápido e barato desses dados de forma não estruturada.Entretanto, o armazenamento de blobs é menos econômico para este caso de uso.Qualquer consulta de dados em logs custará taxas de saída.
  • Backups e recuperação de desastres: a maioria das organizações precisa manter backups completos, particularmente para a recuperação de ataques do ransomware .Como esses dados são duplicados na produção e raramente acessados, o armazenamento de blobs é adequado para fazer backup de grandes conjuntos de dados.

Como o armazenamento de blobs se relaciona com o armazenamento de chave-valor?

O armazenamento de chave-valor é um método para encontrar objetos em um banco de dados ou lago de dados, no qual cada objeto recebe uma "chave" exclusiva para identificá-lo. Uma abordagem de chave-valor é um bom ajuste para o armazenamento de objetos e blobs porque o mecanismo de busca não precisa saber nada sobre o valor, ou objeto, que ele está procurando. (Diferente das pesquisas de armazenamento de arquivos por campos, metadados, etc.) Tudo o que ele precisa para encontrar o valor é a chave associada ao objeto.

O KV do Cloudflare Workers permite que os desenvolvedores criem aplicativos sem servidor para usar o armazenamento chave-valor.Leia a documentação do KV do Workers para saber mais.

Existem riscos de segurança associados ao armazenamento de blobs?

Qualquer tipo de armazenamento em nuvem precisa ser protegido contra vazamento, violações, e acesso não autorizado de dados. Os fornecedores de armazenamento de blobs fornecem algum nível de proteção, mas muitas vezes as configurações de segurança em nuvem ficam a cargo do cliente. Implementações fortes de segurança em nuvem são essenciais para manter o armazenamento de blobs seguro.

Saiba mais sobre segurança em nuvem.

A Cloudflare oferece armazenamento de objetos?

O armazenamento R2 da Cloudflare permite que os desenvolvedores armazenem grandes quantidades de dados não estruturados. O R2 oferece recuperação de dados sem taxas de saída de dados, tornando-o muito mais econômico do que muitos outros tipos de armazenamento em nuvem. Saiba mais sobre o armazenamento R2 da Cloudflare