Jump to section

Armazenamento de arquivos, em blocos ou de objetos?

Copiar URL

Arquivos, blocos e objetos são formatos de armazenamento que guardam, organizam e apresentam os dados de maneiras diferentes. Cada um desses formatos tem capacidades e limitações distintas. O armazenamento de arquivos organiza e representa os dados como uma estrutura hierárquica de arquivos em pastas. O armazenamento em blocos separa os dados em volumes com o mesmo tamanho, organizados arbitrariamente. O armazenamento de objetos gerencia os dados e os vincula a metadados associados.

Containers são altamente flexíveis e trazem uma escala incrível para a forma como as aplicações e o armazenamento são oferecidos. 

File storage

O armazenamento de arquivos, também chamado de armazenamento em nível ou baseado em arquivos, é exatamente o que parece: os dados são armazenados como uma informação única dentro de uma pasta, assim como você organizaria folhas de papel em uma pasta de documentos. Quando é necessário acessar o dado, o computador precisa saber qual é o caminho para encontrá-lo. Mas é necessário ter cuidado porque esse caminho pode ser longo e sinuoso. Os dados armazenados em arquivos são organizados e recuperados usando uma quantia limitada de metadados que informam ao computador exatamente onde o arquivo reside. É como um catálogo de fichas de biblioteca para arquivos de dados.

Imagine uma armário cheio de gaveteiros de arquivos. Cada documento está organizado de acordo com uma certa lógica hierárquica: por gaveteiro, gaveta, pasta e folha de papel. É dessa ideia que surgiu o termo armazenamento hierárquico, e isso é o armazenamento de arquivos. É o sistema mais antigo e utilizado, tanto para armazenamento de dados direto quanto para armazenamento NAS. Provavelmente, é esse tipo de sistema que você usa há décadas. Sempre que acessamos documentos salvos em arquivos em computadores pessoais, estamos usando o armazenamento de arquivos. Esse sistema tem amplas capacidades e pode armazenar praticamente qualquer tipo de dado. Ele é ótimo para armazenar uma variedade de arquivos complexos e é de navegação relativamente rápida.

O problema é que, assim como um gaveteiro de arquivos, a gaveta virtual desse sistema pode ser aberta somente até um certo ponto. Os sistemas de armazenamento baseado em arquivos precisam ser escalados horizontalmente com a adição de mais sistemas, em vez de apenas serem escalados verticalmente com o acréscimo de capacidade.

Block storage

O armazenamento em blocos divide os dados em blocos e os armazena como pedaços separados. Cada bloco de dados recebe um identificador exclusivo, o que permite ao sistema de armazenamento colocar os menores dados no espaço que for mais conveniente. Isso significa que alguns dados podem ser armazenados em um ambiente Linux® e outros em uma unidade Windows.

Geralmente, o armazenamento em blocos é configurado para dissociar os dados do ambiente do usuário e distribuí-los entre vários ambientes mais adequados para disponibilizar cada dado. Quando os dados são solicitados, o software de armazenamento subjacente remonta os blocos a partir desses ambientes e os apresenta ao usuário. Normalmente, esse sistema é implantado em ambientes de rede de área de armazenamento (SAN) e precisa estar associado a um servidor funcional.

Como o armazenamento em blocos não depende de um único caminho, como o armazenamento de arquivos, a recuperação dos dados é rápida. Cada bloco existe independentemente e pode ser particionado para que seja acessado em um sistema operacional diferente. Assim, o usuário tem liberdade total para configurar os próprios dados. É uma maneira eficiente e confiável de armazenar dados, além de ser fácil de usar e gerenciar. Esse sistema funciona muito bem em empresas que realizam grandes transações ou implantam bancos de dados enormes. Ou seja, quanto maior for o volume de dados a serem armazenados, mais adequado é o uso do armazenamento em blocos.

No entanto, esse sistema também tem algumas desvantagens. O armazenamento em blocos pode ser uma solução cara. Ele tem capacidade limitada para processar metadados. Isso significa que esses metadados precisarão ser processados no nível da aplicação ou do banco de dados, adicionando mais uma preocupação para desenvolvedores ou administradores de sistemas.

Object storage

O armazenamento de objetos, também conhecido como armazenamento baseado em objetos, é uma estrutura plana na qual os arquivos são divididos em pedaços e distribuídos pelos componentes de hardware. No armazenamento de objetos, os dados são fragmentados em unidades separadas chamadas de objetos. Eles são mantidos em um único repositório, em vez de assumirem o formato de arquivos em pastas ou blocos em servidores.

Os volumes de armazenamento de objetos funcionam como unidades modulares: cada um é um repositório independente que contém os dados, um identificador exclusivo que permite encontrar o objeto em um sistema distribuído e os metadados que descrevem os dados. Esses metadados são importantes e incluem detalhes como idade, configurações de privacidade/segurança e contingências de acesso. Os metadados do armazenamento de objetos também podem ser muito detalhados e guardar informações sobre onde um vídeo foi filmado, que câmera foi utilizada e quais atores aparecem em cada quadro. Para recuperar os dados, o sistema operacional do armazenamento usa os metadados e identificadores. Isso faz uma distribuição melhor da carga e permite aos administradores aplicar políticas que realizam pesquisas mais robustas.

O armazenamento de objetos requer uma simples interface de programação de aplicações (API) HTTP, que é utilizada pela maioria dos clientes em todas as linguagens. O armazenamento de objetos é econômico, ou seja, você paga somente por aquilo que utiliza. Ele pode ser escalado com facilidade, o que o torna uma opção excelente de armazenamento para a nuvem pública. Esse sistema de armazenamento também é ideal para dados estatísticos, e sua natureza ágil e plana o permite escalar para quantidades de dados muito grandes. Os objetos contêm informações suficientes para que uma aplicação encontre os dados rapidamente. Além disso, eles são bons em armazenar dados não estruturados.

Obviamente, também existem algumas desvantagens. Não é possível modificar os objetos: é necessário gravá-los completamente de uma só vez. O armazenamento de objetos também não funciona bem com os bancos de dados tradicionais, pois a gravação de objetos é um processo lento. Além disso, configurar uma aplicação para que use uma API de armazenamento de objetos não é tão simples como usar o armazenamento de arquivos.

Leitura recomendada

ARTIGO

Por que escolher a Red Hat para soluções de armazenamento?

Saiba o que é o armazenamento definido por software e como implantar uma solução Red Hat que ofereça flexibilidade para gerenciar, armazenar e compartilhar dados como você preferir.

ARTIGO

O que é o armazenamento em nuvem?

Armazenamento em nuvem é a organização de dados mantidos em um local que pode ser acessado por qualquer um na Internet que tenha as permissões necessárias. Saiba como ele funciona

TÓPICO

Introdução aos serviços de dados

Os serviços de dados são conjuntos de pequenas funções independentes e levemente acopladas que aprimoram, organizam, compartilham ou processam as informações coletadas e salvas em volumes de armazenamento.

Leia mais sobre armazenamento

Soluções Red Hat

Solução de armazenamento definido por software que reserva um lugar permanente para os dados, enquanto containers são iniciados e encerrados entre ambientes diferentes.

Um sistema de armazenamento definido por software aberto e altamente escalável que gerencia petabytes de dados.

Conteúdo adicional

Datasheet

Datasheet do Red Hat Ceph Storage

VÍDEO - THE SOURCE TV

Reinvenção para alavancar os negócios

Uma conversa sobre a importância de uma cultura corporativa consolidada para ir além no mercado.