Diferença entre armazenamento de objetos, armazenamento de arquivos e armazenamento em blocos
Existem principalmente três tipos de armazenamento de dados: armazenamento de objetos, armazenamento de arquivos e armazenamento em blocos. O que são e quais são as diferenças entre eles?.
Armazenamento de arquivos
O armazenamento de arquivos é um dos tipos mais comuns de armazenamento: a maioria das pessoas está familiarizada com ele pelo uso diário do computador. Considere um caso simples: você armazena fotos de uma viagem recente no seu notebook/desktop pessoal. Primeiro, você cria uma pasta chamada "minha viagem". Agora você pode adicionar outra pasta dentro desta com o nome "minhas favoritas" e colocar suas fotos favoritas nela. Dessa forma, você organiza seus arquivos em uma estrutura hierárquica com pastas e subpastas e pode acessá-los usando o caminho da pasta/arquivo.
Quando um arquivo é armazenado dessa forma, ele possui metadados limitados associados, como data de criação, data de modificação e tamanho do arquivo. Esse esquema organizacional simples pode começar a causar problemas à medida que o volume de dados aumenta. O desempenho pode cair devido à crescente demanda de recursos do sistema de arquivos para rastrear arquivos e pastas, e esses problemas "estruturais" não podem ser resolvidos simplesmente aumentando o espaço de armazenamento disponível para o sistema de arquivos.
Apesar de possíveis problemas em grande escala, os sistemas de arquivos funcionam bem para o uso diário em computadores pessoais e servidores usados no ambiente de trabalho e em médias e grandes empresas. O armazenamento de arquivos é comumente encontrado e implantado em discos rígidos e sistemas Network Attached Storage (NAS).
Armazenamento de objetos
O armazenamento de objetos é um tipo de armazenamento de dados no qual cada unidade de dados (chamada de "objeto") é armazenada como uma unidade discreta. Esses objetos podem ser praticamente qualquer tipo de dado: PDF, vídeo, áudio, texto, dados de site ou qualquer outro tipo de arquivo.
Ao contrário do armazenamento de arquivos, esses objetos são armazenados em uma estrutura única e plana, sem hierarquia de pastas. No armazenamento de objetos, todos os objetos são armazenados em um espaço de endereçamento plano, diferente da estrutura aninhada e hierárquica usada pelo armazenamento de arquivos. Além disso, todos os metadados padrão e personalizados são armazenados junto com o próprio objeto (não como parte de uma tabela ou índice separado do sistema de arquivos), em um espaço de endereçamento plano com um identificador único, tornando mais fácil a indexação e o acesso.
O armazenamento de objetos é bastante comum em cenários de armazenamento em nuvem e pode ser usado para gerenciar, processar e distribuir conteúdo com escalabilidade e confiabilidade muito altas. O esquema de endereçamento plano significa que o acesso a objetos individuais é rápido e fácil: os nomes dos objetos podem servir como "chaves" em uma tabela de consulta. Os sistemas de armazenamento de objetos precisam apenas saber a chave (nome) do objeto que você está procurando e podem retorná-lo de forma rápida e fácil usando uma tabela de consulta.
Armazenamento em blocos
O armazenamento de objetos e o armazenamento de arquivos tratam os arquivos como uma única "unidade" de dados. O armazenamento em blocos, como o nome sugere, trata os dados como uma sequência de "partes" ou "blocos" de tamanho fixo, nos quais cada arquivo ou objeto pode ser distribuído por vários blocos. Esses blocos não precisam ser armazenados de forma contígua. Sempre que esses dados são solicitados pelo usuário, o sistema de armazenamento subjacente reúne os blocos de dados e atende à solicitação do usuário.
Isso pode ser alcançado sem a necessidade de uma estrutura hierárquica, pois cada bloco tem um endereço diferente e único e existe independentemente de todos os outros. Em alguns casos, o armazenamento em blocos pode recuperar dados muito rapidamente porque não há necessariamente um único caminho para os dados que precisam ser lidos (pense em um array de discos, no qual dados do mesmo arquivo podem ser lidos de vários discos). O armazenamento em blocos também alcança alta eficiência porque os blocos podem ser armazenados onde for mais conveniente (blocos que representam o mesmo arquivo ou objeto não precisam ser armazenados adjacentes uns aos outros). No entanto, o armazenamento em blocos geralmente é caro e tem capacidade limitada para lidar com metadados (um conceito de nível de objeto ou arquivo), que precisam ser tratados no nível da aplicação. O armazenamento em blocos é comumente implantado em armazenamento Storage Area Network (SAN). Na maioria das aplicações, o armazenamento de objetos ou arquivos é, na verdade, uma camada sobre o armazenamento em blocos subjacente. Você pode pensar no armazenamento em blocos como a base sobre a qual os sistemas de armazenamento de arquivos são construídos.
A tabela abaixo compara os diferentes recursos dos distintos tipos de armazenamento. O armazenamento em blocos é "altamente estruturado", pois cada bloco de dados é organizado em blocos fixos estruturados para facilitar a indexação e a busca. O armazenamento de arquivos é indexado e "estruturado" de maneira hierárquica, e o armazenamento de objetos é "não estruturado", pois não há formato ou estrutura para o armazenamento de dados. Em vez disso, há simplesmente uma lista plana de objetos. Em termos simples, "consistência de dados" pode ser entendida como as garantias de leitura, gravação e atualização oferecidas pelo sistema de armazenamento, como se objetos gravados recentemente estão ou não imediatamente disponíveis para leitura. "Nível de acesso" é o nível de permissões que os usuários têm para acessar e manipular dados.
| Capacidade | Armazenamento de objetos | Armazenamento de arquivos | Armazenamento em blocos |
| Consistência | Consistência eventual | Consistência forte | Consistência forte |
| Estrutura | Não estruturado | Estruturado hierarquicamente | Altamente estruturado no nível de bloco |
| Nível de acesso | Nível de objeto | Nível de arquivo | Nível de bloco |
Artigos relacionados
-
O que é computação em nuvem
Equipe da base de conhecimento.
-
O que é armazenamento de objetos
Equipe da base de conhecimento.
